2011-04-05 13 views
7

Daha önce görmediğim farklı bir soruda aşağıda olduğu gibi bir örnek görüyorum.Dinamik dizinin sonunda() ne anlama geliyor?

new int[m_size](); 
       ^^ 

gördüğüm ve sürüm new int[m_size] her zaman ama sonunda () ile değil tane kullandık.

+1

http://stackoverflow.com/questions/620137 ile yığın tek tamsayı başlatılırken burada tüm elemanları calloc(o,sizeof(int)) benzer zero initialized olacak demektir/parent-one-type-name-make-a-difference-with-new- –

cevap

12

iki kelime: Value Initialization

new int[m_size](); dizi elemanları () değeri başlatma eder, çünkü () yazarak sıfır başlatıldı olacaktır.

1 (bir basit tür sıfır başlatma): başlatıcı boş bir ayraç dizi bir amacı, diğer bir deyişle,(), değer başlatıldı olacaktır. ($ 8,5/7)

+0

ah yaptıklarında! Yani hangi tip başlangıç ​​değeridir? Tüm ifadenin işaretçi türü mi yoksa dizinin bireysel üyeleri mi? – dubnde

+1

@MeThinks: 8.5/5’i kontrol edin (Değer Başlatma). İlkel bir tip için ** Değer sıfırlama ** => ** Sıfır Başlatma **. Bu durumda dizinin tüm elemanları –

+0

okuna başlatılacaktır. Standartta "T bir dizi tipi ise, o zaman her elemanın değeri başlatılır". Hızlı yanıt için teşekkürler. İlk defa dizilerle ilgili olarak karşılaştım. – dubnde

2

bu calloc ile, ur 0