让我们考虑以下类
class test1
{
private:
int a;
int b;
public:
test1():a(0),b(0){}
};
class test2
{
private:
int a;
int b;
public:
test2()
{
a=0;
b=0;
}
};
现在,我知道test1()
构造函数是初始化 a 的数据成员的正确方法class
,因为test2()
我们执行的是赋值而不是初始化。我的问题是:
- 如果我们执行赋值而不是初始化,可能会出现什么问题?
test1()
在构造函数的情况下,编译器不会在内部执行赋值吗?如果没有,那么这些是如何初始化的?