2017-02-14 46 views
-3

我在理解本聲明方面存在問題。我不知道爲什麼這和其他人不一樣。爲什麼const char INITIAL ='G'不是賦值語句?

+0

related/dupe:http://stackoverflow.com/questions/4470553/initialization-parenthesis-vs-equals-sign – NathanOliver

+2

隨着編輯,問題不再有意義。 「在理解這個聲明。」哪種說法?你沒有收錄它。 – Borgleader

+0

http://en.cppreference.com/w/cpp/language/copy_initialization – 0x5453

回答

5

賦值意味着給已經存在的對象賦予新的值。即使const char INITIAL='G';有一個=號,它是而不是一個賦值,因爲它是創建一個新的對象,不修改現有的一個。 char INITIAL; INITIAL='G';將是一項任務,因爲INITIAL已經存在,當新值很好地分配。

+0

感謝:) :) –

+0

const char INITIAL ='G' 這裏這個聲明實際上創建INITIAL變量,然後把G放入它。所以這個變量已經存在了。只是一個想法。 –

-1

我的概念所說的是每當有一個=表示它的任務。

你的概念錯了。這是一個初始化聲明。這與說:

const char INITIAL('G'); 
+0

我的意思是分配不是初始化。 –

+0

正如我所說,這不是一項任務。 –

+0

lol你的意思是const char INITIAL ='G';是一個初始化語句而不是賦值。你認爲它被要求達到這個目的? –

相關問題