我開始學習C++,出於好奇,爲什麼C++要求你放一個「;」在類聲明 的結尾,例如:爲什麼C++有一個「;」在類聲明後
class A
{
/*...*/
};
像Java語言中,它是用來表示一個語句的結束。
所不同的是大約
int i(5);
和上面參照C++關於分號類?編譯器是否將這個類作爲一個聲明對待呢,還是對它有不同的解釋?
我開始學習C++,出於好奇,爲什麼C++要求你放一個「;」在類聲明 的結尾,例如:爲什麼C++有一個「;」在類聲明後
class A
{
/*...*/
};
像Java語言中,它是用來表示一個語句的結束。
所不同的是大約
int i(5);
和上面參照C++關於分號類?編譯器是否將這個類作爲一個聲明對待呢,還是對它有不同的解釋?
,因爲你還可以定義在聲明變量:
class A {
...
} x, y, z;
期末類聲明以一個分號基本上是明確的說,我們是不是聲明此類型的任何變量。
但是當你不這樣做? – 0x499602D2
@ 0x499602D2:如果沒有終止符,你希望編譯器如何猜測'}'後面的東西不是變量? – geoffspear
@ 0x499602D2:一個空的終止列表需要與終止列表一樣長的終止列表。 –
這個問題非常接近「爲什麼C++不像Java?」或者「C++和Java有什麼區別?」。這兩者都超出了SO的範圍。 –
爲什麼這是起不來的.... – 2013-10-03 16:51:43
@ H2CO3,因爲*程序員C++的每個人都被遺忘了這個小句法怪異。當你理解某件事的原因時,你不太可能忘記它。 –