SORU
27 HAZİRAN 2011, PAZARTESİ


önemsiz vs standart düzeni vs POD

Uzun lafın kısası, önemsiz tip, standart düzeni türleri ve Bölmeleri arasındaki fark nedir?

Özellikle, new T Herhangi bir şablon parametresi T new T() farklı olup olmadığını belirlemek istiyorum. Hangi tür özellikleri is_trivial, is_standard_layout is_pod seçmeliyim?

Bu tür özelliklerin herhangi bir derleyici büyü olmadan uygulanabilir mi? (bir tarafta)

CEVAP
27 HAZİRAN 2011, PAZARTESİ


Gerçekten uzun lafın kısası, en azından olmadan yapılabilir sanmıyorumçokekstra açıklama. Bir önemli nokta dinamik başlatma vs statik, ama bir rahip olmayan kimse için bu açıklama kendi içinde birkaç sayfa

Bakla (yanlış)C 98 olarak belirlendi. Orada gerçekten iki ayrı niyet dahil, ne ifade çok iyi: 1) Eğer bir derleme C yapı bildirimi C , ne olmalıdır eşdeğer ne vardı C. 2) BİR BÖLME tek ihtiyacın/statik (dinamik) başlatma.

C 0 x/11 "" gösterimi (hemen hemen) tamamen, lehine "" ve "standart düzen". önemsiz POD damla Standart klavye düzeni C. alırsın aynı Önemsiz ... ... oluşturma Bir şey statik başlatma desteği yakalamak için tasarlanmıştır ilk hedefi yakalamak için tasarlanmıştır.

new T vs new T() başlatma ile ilgili olduğundan,muhtemelenis_trivial istiyorum.

Derleyici sihirli gerekli olma konusunda emin değilim. Benim hemen tepki muhtemelen Evet olurdu, ama insanlar TMP ile yapılan bazı şeyleri bilmek, zor zamanlar biri bunu yapamaz belli olmak da var

Edit: örnek için, belki de en iyisi N3290: örnekler alıntı

struct N { // neither trivial nor standard-layout
   int i;
   int j;
    virtual ~N();
};

struct T { // trivial but not standard-layout
    int i;
private:
    int j;
};

struct SL { // standard-layout but not trivial
    int i;
    int j;
    ~SL();
};

struct POD { // both trivial and standard-layout
    int i;
    int j;
};

Şüphesiz tahmin, POD de POD bir yapı olduğu gibi.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BiGSH0TROB

    BiGSH0TROB

    7 NİSAN 2011
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009
  • Perihelion

    Perihelion

    23 NİSAN 2008