回答
它是一個初始值設定項(構造函數參數)。新創建的int值將爲0
。
這是一個初始化程序。但它不是一個構造函數參數。類型'int'沒有構造函數。 – AnT 2010-06-16 19:15:17
@安德烈:你能解釋一下嗎?如果構造函數接受一個參數,那麼它將如何與初始化器區分開來?這兩者之間的實際區別是什麼? – understack 2010-06-16 19:21:43
@understack:「構造函數」是* class *類型中的一個特殊成員函數。非類的類型(如'int')沒有成員函數,當然也沒有構造函數。你在這裏處理的過程叫做* initialization *。初始化是一個不平凡的概念,它對不同類型的定義是不同的。對於類的類型初始化通常(但不總是)意味着構造函數調用。對於非類類型,由於上述原因,初始化被定義爲不包含任何「構造函數」。 – AnT 2010-06-16 19:28:43
這意味着你需要一個指向int
,併爲int
的值爲0
我一旦失去了太久上竟然有人寫new char(10)
時,他們的意思new char[10]
錯誤。編譯器很好,但它造成了重大的腐敗問題,這是很難發現。這是10多年前的事情,我們現在沒有我們所做的工具。永遠不會忘記它。
對我來說,0意義也有人在說,
我存心想這是0
,而不是在一些「默認值」,這[編輯]
很多情況下也可能是0
在許多調試編譯中將被設置爲0,但在發佈時,編譯通常會是未初始化內存中已經存在的值。
默認值只是「未初始化」,所以不知道會在那裏。大多數實現在給您之前不會初始化原始的,動態分配的內存(除了調試實現,其中一些實現使用標誌值來幫助您追蹤錯誤)。 – 2010-06-16 19:23:27
Ooops,很對,我在想Int和其他類,比如像默認值爲false的bool,讓我分心。 – 2010-06-16 19:40:50
其實,是的,那裏有一個默認值 - 'new int()'將被初始化。它只是未初始化的'new int'。 – 2010-06-17 03:53:08
- 1. int test [] = new int [0]是什麼意思?
- 2. MySQL Int刪除0
- 3. 在Int前面顯示0
- 4. int的var_dump顯示UNKNOWN:0
- 5. *(int *)在C中的含義
- 6. 在int值中打印0的PHP/MySQL
- 7. 結果null.asInstanceOf [INT]爲0
- 8. java.lang.OutOfMemoryError - new int [Integer.MAX_VALUE];
- 9. 在C++ 11中,「new int [8]()」等價於「new int [8] {}」嗎?
- 10. 爲什麼int&r = 0是非法的,而const int&r = 0是合法的?
- 11. 「int N = a == b?a:a + b == 10?a + b:0;」的含義
- 12. Casting(int?)null與new int?() - 哪個更好?
- 13. int someInts [3]和int * someInts = new int [3]之間的區別?
- 14. 表達式之間的區別:int * a = 0; int * a = 10;
- 15. return new int [] {randomHeight,randomWidth};
- 16. readtext = new String(buff,0,read)......是字符串,int還是數組?
- 17. 我在哪裏添加int $ decimals = 0?
- 18. 獲得分割後INT 0值中,
- 19. double int int int int
- 20. 代碼崩潰時INT ARR = 1 && arr;但不是INT ARR = 0 && arr;
- 21. 問題喬達新的日期時間(INT,INT,INT,INT,INT,INT)
- 22. INT與領先0的行爲怪異
- 23. ResponseError:預期的4或0字節int
- 24. 的Java轉換0-255 INT-RGB色
- 25. 「int mask =〜0;」的用途是什麼?
- 26. 「@far int * @near IntegerPointer;」的含義
- 27. 含義((INT *)的ptr + 1)
- 28. 自動添加0到int字段 - mysql
- 29. 空字符串改變爲0 INT
- 30. 爲什麼INT返回0 - C++
好問題。有一個基本的背景? Basic的數組初始化器是parens,而其他C語言使用方括號。 – 2010-06-16 19:08:44