Tür adından sonra parantez içinde yeni bir fark yaratır mı?
'Sıradan bir sınıf' arasında bir fark vardır: . Test ederseniz
Test* test = new Test;
//and
Test* test = new Test();
CEVAP
Hadi aslında kodunuzu davranışlarını etkileyen farklılıklar vardır çünkü ukala. Aşağıdaki çok yorum "Old New Thing" article yapılan alınır.
Bazen hafıza döndürülen yeni operatör olacak başlatıldı, ve bazen yaramaz olmasına bağlı olarak bir tipsin newing bir POD (plain old data), ya da eğer bir sınıf içeren POD üyeleri ve kullanarak bir derleyici tarafından oluşturulan varsayılan kurucu.
- Başlatma 2 tipi vardır C 1998: varsayılan sıfır
- C 2003 3 başlatma türü, değeri başlatma eklendi.
Varsayalım:
struct A { int m; }; // POD
struct B { ~B(); int m; }; // non-POD, compiler generated default ctor
struct C { C() : m() {}; ~C(); int m; }; // non-POD, default-initialising m
C 98 derleyici, aşağıdaki ortaya:
- yeni A - belirsiz deÄŸer
() yeni Bir - -başlatılamıyor sıfır
yeni B - varsayılan inşa (:: B m başlatılmamış)
() yeni B - inşa varsayılan (:: B m başlatılmamış)
yeni C - varsayılan inşa (:: C m sıfır başlatıldı)
- () yeni C - inşa varsayılan (:: C m sıfır başlatıldı)
C 03 uyumlu bir derleyici, her şey çok gibi çalışması gerekir:
- yeni A - belirsiz deÄŸer
() yeni Bir değer başlatma bir BÖLME olduğu için sıfır başlatma olan,.
yeni B - varsayılan-başlatır (yapraklar B::m) başlatılmamış
() yeni B varsayılan decimal kullanıcı tanımlı olarak karşı oluşturulan derleyici olduğundan başlatır sıfır tüm alanları olan değer B başlatır.
yeni C - varsayılan-varsayılan başlatır decimal aranmasına, C,.
- () yeni bir C - değeri-başlatır varsayılan decimal. çağıran C,
C tüm sürümleri "new A" ve "new A() çünkü" POD. arasında fark var yani
Ve dava için C 98 ve C 03 davranış arasında bir fark "new B()".
Bu deli sürücü C tozlu köşelerinden biri. Bir nesne oluştururken, bazen parens gerek/seni istiyorum, bazen, kesinlikle onları, bazen de bir önemi yok.

Sekme == 4 boÅŸluk ve otomatik girinti ...
JavaScript, eğer parantez içinde bir i...
Ondalık arasındaki fark, ve içinde Yüz...
Vim içinde eşleştirmek, noremap, nnore...
Eski stil ve yeni stil Python sınıflar...