2013-10-03 20 views
10

C++ öğrenmeye başlıyorum ve meraktan dolayı, C++ neden bir “;” koymanızı gerektiriyor? Örneğin sınıf bildiriminde sonunda: java gibi dillerdeC++ neden bir ";" Bir sınıf beyanından sonra

class A 
{ 
    /*...*/ 
}; 

, açıklamada bir sonunu belirtmek için kullanılır.

farklı ne yaklaşık

int i(5); 

ve C++ yarı kolon ile ilgili olarak, yukarıda bahsedilen sınıf? Derleyici, sınıfı bir deyim olarak ele alıyor mu, yoksa bunun için farklı bir yorumu var mı?

+2

Bu soru "C++ Java gibi değil neden?" Sorusuna çok yakın. veya "C++ ve Java arasındaki farklar nelerdir?" Her ikisi de SO kapsamı dışında. –

+5

Niçin bu upvotlar alınıyor ... –

+5

@ H2CO3, çünkü * C++ programlayan herkes * bu küçük sözdizimsel tuhaflığı unutmak suretiyle ısırıldı. Bir şeyin nedenini anladığınızda, onu unutmak daha az olasıdır. –

cevap

22

ayrıca bildiriminde değişkenleri tanımlamak çünkü: temelde değil bu tip değişken bildirimi olduklarını açıkça söylüyor

class A { 
     ... 
} x, y, z; 

bir noktalı virgül sınıf bildirimleri Sonlandırma.

+1

Ama ne zaman yapmıyorsun? – 0x499602D2

+6

@ 0x499602D2: Eğer bir sonlandırıcı yoksa '' 'değişkeninden sonra bir şey olmadığını tahmin etmek için derleyiciye nasıl başvurmak istersiniz? – geoffspear

+2

@ 0x499602D2: Boş sonlandırılmış bir listenin sonlandırıcısı, uzun bir sonlandırılmış liste kadar. –