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