7
A
回答
11
int *a = new int;
a
指向缺省初始化對象(它是未初始化對象在此情況下即所述值是不確定的按照標準)。
int *a = new int();
a
指向值初始化對象(它是零初始化對象在此情況下即所述值是零按照標準)。
5
第一個變種默認初始化動態分配int
,這對於內置類型,例如int
不執行任何初始化。
的第二變型值初始化它,這對於int
意味着零初始化,給它的價值0
。
相關問題
- 1. swap(int&a,int&b)和swap(int * a,int * b)。有什麼區別?
- 2. make([] int,0),[] int {}和* new([] int)有什麼區別?
- 3. 「long int a = 2」和「int a = 2L」有什麼區別?
- 4. static int a和int a有什麼區別?
- 5. 局部變量auto int a和int a有什麼區別?
- 6. Java中的int a [5],int a [],int a [] = {2,3}之間的區別
- 7. 新的int和new(int)之間的C++有什麼區別?
- 8. int someInts [3]和int * someInts = new int [3]之間的區別?
- 9. int * p =&a ++和int * p =&++ a
- 10. '(int)a','a as int'和C#中的Convert.ToInt32(a)之間的區別
- 11. double a = a + int b和int a + = double b之間的區別是什麼?
- 12. void(int)和void(*)(int)有什麼區別?
- 13. int test [] = new int [0]是什麼意思?
- 14. int [] x;有什麼區別?和int x [];?
- 15. int * a [3]和int(* a)[3]之間的區別?
- 16. 使用int [] []和int [,]有什麼區別?
- 17. int(1)和int(8)有什麼區別?
- 18. 爲什麼assertEquals(new int [] {1},new int [] {1})導致失敗?
- 19. SML中int - > int - > int和(int * int) - > int有什麼區別?
- 20. a // b和int(a/b)之間有什麼區別?
- 21. long unsigned int和unsigned long int有什麼區別int
- 22. int * ptr =(int *)(&a + 1);
- 23. java.lang.OutOfMemoryError - new int [Integer.MAX_VALUE];
- 24. 表達式之間的區別:int * a = 0; int * a = 10;
- 25. extern int a之間的區別; extern int a = 42;
- 26. func foo(arr [] int)int和func foo(arr [num] int)有什麼區別int
- 27. 如何解釋(const int&a)和新的int(a),它有什麼作用?
- 28. 「new A()」和「A.newInstance()」有什麼區別?
- 29. public void add(int a,int ... b){
- 30. int A不等於int B
分別對於初始化,零初始化和默認初始化的情況,C++ 11§8.5,p7,C++ 11§8.5,p5和C++ 11§8.5,p6分別介紹了OP有興趣(我非常懷疑它)。 – WhozCraig
請注意,測試可能不會暴露這種差異:與自動存儲不同,動態分配的內存在簡單測試程序中通常會最終爲零,並且在較早的內存被重用時只在較大的程序中包含「垃圾」。 – hvd