«memory-layout» etiketlenmiş sorular

3
C'de yapısal bellek düzeni
C # geçmişim var. C gibi düşük seviyeli bir dil için çok acemiyim. C # struct'da , belleği varsayılan olarak derleyici tarafından düzenlenir. Derleyici, veri alanlarını yeniden sıralayabilir veya alanlar arasında örtük olarak ek bitler doldurabilir. Bu nedenle, tam düzen için bu davranışı geçersiz kılmak için bazı özel nitelikler belirtmem …

7
İşaretçi karşılaştırması C'de nasıl çalışır? Aynı diziye işaret etmeyen işaretçileri karşılaştırmak uygun mudur?
K&R (C Programlama Dili 2. Baskı) bölüm 5'de aşağıdakileri okudum: İlk olarak, işaretçiler belirli koşullar altında karşılaştırılabilir. Eğer pve qardından ilişkiler gibi nokta aynı dizinin üyelerine ==, !=, <, >=düzgün, vb işleri. Bu da sadece aynı diziyi gösteren işaretçilerin karşılaştırılabileceği anlamına geliyor. Ancak bu kodu denediğimde char t = 't'; …

2
[[no_unique_address]] ve aynı türde iki üye değeri
Ben etrafında oynuyorum [[no_unique_address]]içinde c++20. Cppreference örneğinde boş bir tür Emptyve tür varZ struct Empty {}; // empty class struct Z { char c; [[no_unique_address]] Empty e1, e2; }; Görünüşe göre, boyutu Zen azından 2türleri e1ve e2aynı olduğu için olmalıdır. Ancak, gerçekten Zboyutu ile istiyorum 1. Bu bana neyi Paketleme …

1
Boş taban sınıfı da üye değişken olduğunda boş taban optimizasyonu neden yasaklanmıştır?
Boş taban optimizasyonu harika. Ancak, aşağıdaki kısıtlama ile birlikte gelir: Aynı tabandaki iki temel alt nesnenin nesne temsili içinde farklı adreslere sahip olması gerektiğinden, boş taban sınıflarından birinin de ilk statik olmayan veri üyesinin türü veya tabanı olması durumunda boş taban optimizasyonu yasaktır. türetilmiştir. Bu kısıtlamayı açıklamak için aşağıdaki kodu …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.