函数体里面的类不进行初始化的话也会被隐式初始化么?该怎么解决
函数体里面的类不进行初始化的话也会被隐式初始化么?
貌似全局变量会被初始化.
不知道类是不是一样?
是不是说默认构造函数是作用于所有没有初始化表达式的?不论它是在哪里?
------解决方案--------------------
假如你的类,没有提供构造进行初始化变量,
你的函数里有个类的对象--------局部对象
是不会初始化对象中的数据的成员 c++ primer中已经讲过
为此,最好是提供构造函数初始化数据成员,否则就是垃圾值
附一个例子:
class Test
{
public:
int data;
};
int main()
{
Test obj;
std::cout<<obj.data;
system("pause");
return 0;
}
平台:64 win7 +vs2008
程序启动的时候会提示有错误,
貌似全局变量会被初始化.
不知道类是不是一样?
是不是说默认构造函数是作用于所有没有初始化表达式的?不论它是在哪里?
------解决方案--------------------
假如你的类,没有提供构造进行初始化变量,
你的函数里有个类的对象--------局部对象
是不会初始化对象中的数据的成员 c++ primer中已经讲过
为此,最好是提供构造函数初始化数据成员,否则就是垃圾值
附一个例子:
class Test
{
public:
int data;
};
int main()
{
Test obj;
std::cout<<obj.data;
system("pause");
return 0;
}
平台:64 win7 +vs2008
程序启动的时候会提示有错误,