2013-10-03 1 views
10

C++을 배우기 시작했고 호기심에서 벗어나서 C++에서 왜 ";" 예를 들어, 클래스 선언 의 말 : 자바와 같은 언어에서왜 C++에 ";" 클래스 선언 후

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

, 문장의 끝을 나타 내기 위해 사용됩니다.

다른 무엇에 대한

int i(5); 

및 C++에서 세미콜론 관련하여 상기의 클래스? 컴파일러가 클래스를 명령문으로 취급합니까? 아니면 다른 해석을합니까?

+2

이 질문은 "C++이 Java를 좋아하지 않는 이유는 무엇입니까?" 또는 "C++과 Java의 차이점은 무엇입니까?" 둘 다 SO의 범위 밖에있다. –

+5

어째서 지옥이 왜 올라가고있는 것입니까? –

+5

@ H2CO3, 왜냐하면 * C++을 프로그램하는 모든 사람들이이 작은 통사론을 잊어 버렸기 때문입니다. 너가 무언가를 위해 이유를 이해할 때 너는 그것을 잊을 확률이 적다. –

답변

22

당신은 또한 선언에서 변수를 정의 할 수 있기 때문에 : 기본적으로 우리가 하지이 유형의 변수를 선언하는 것을 명시 적으로 말하고있다

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

세미콜론에서 클래스 선언을 종료합니다.

+1

하지만 당신이하지 않으면 어떨까요? – 0x499602D2

+6

@ 0x499602D2 : 터미네이터가 없다면'}'뒤에 오는 것이 변수가 아님을 컴파일러가 어떻게 추측하고 싶습니까? – geoffspear

+2

@ 0x499602D2 : 빈 종료 목록은 긴 종료 목록만큼의 종결자를 필요로합니다. –