原帖由 cnzhaopeng 于 2009-10-8 16:14 发表
对于内置类型和没有默认构造函数的类型,采用不同初始化方式是有很大差别。
int *pi=new int;
int *pi=new int();
前者指向一个未初始化的数。
后者指向一个初始化的0。
原帖由 cnzhaopeng 于 2009-10-8 16:14 发表
对于内置类型和没有默认构造函数的类型,采用不同初始化方式是有很大差别。
int *pi=new int;
int *pi=new int();
前者指向一个未初始化的数。
后者指向一个初始化的0。
原帖由 DraculaW 于 2009-10-9 22:24 发表
有区别
当你有不同的构造函数时候有区别
譬如你有
class A
{
public:
A(){}
A(int i = 0){}
}
就有区别了
原帖由 DraculaW 于 2009-10-9 22:24 发表
有区别
当你有不同的构造函数时候有区别
譬如你有
class A
{
public:
A(){}
A(int i = 0){}
}
就有区别了
大哥 你这个声明对new A 和 new A()都不行啊,都会报:
call of overloaded `A()' is ambiguou ...
cc007cc 发表于 2010-07-21 17:42
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |