在 C++ 中,默认情况下构造函数为类的数据成员提供的值是多少?
what is the value given to data members of the class by default constructor in c++?
就像在 Java 中构造函数给出的默认值是 0,我在某处听说在 C++ 中构造函数没有给出默认值,但后来我做了一个简单的程序并打印数据成员的值,它打印 0 所以?
#include<iostream>
class testclass
{ int value1;
int value2;
public :
void print(){
std::cout<<value1<<value2;
}
};
int main(){
testclass t1;
t1.print();
return 0 ;
}
上面的代码打印 0 作为输出,所以...?
我在某处听说在 C++ 中默认值不是由构造函数给出的,但后来我做了一个简单的程序并打印数据成员的值,它打印 0 所以?
一些编译器可能会这样做,但根据标准,使用这些成员变量会导致未定义的行为。
不要指望他们。确保成员变量已正确初始化。
用
class testclass
{
int value1 = 0;
int value2 = 0;
...
};
或
class testclass
{
int value1;
int value2;
public:
testclass() : value1(0), value2(0) {}
...
};
相关文章:
- 用于访问容器<T>数据成员的正确 API
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 数据成员SFINAE的C++17测试:gcc vs clang
- 派生类是否可以在抽象工厂设计模式中具有数据成员
- 如何在c++中定义以struct为数据成员的类中的构造函数
- 静态数据成员模板专用化的实例化点在哪里
- int数据类型的指针指向的是什么,如果是一个类的私有数据成员,我们创建了该类的两个对象?
- 使用指针访问数组中的对象数据成员
- 友元函数无法访问私有数据成员 (c++)
- 我可以在 C++ 中将数据成员/变量从其定义之外添加到结构中吗?
- 为什么将一个结构的引用设置为等于另一个结构只会更改一个数据成员?
- 将私有数据成员添加到野牛生成的类中
- 输入数据成员未按要求工作
- 二维矢量数据成员
- 在类 A 中创建类型为 B 类的向量 - 访问数据 [C++] [成员在两个类中都是私有的]
- 调用在 HXX 文件中声明的静态数据成员
- 在 C++ 中,默认情况下构造函数为类的数据成员提供的值是多少?
- 创建多个实例后,静态数据成员的值是多少
- 在C++中,如果我们不在构造函数中初始化数据成员,那么类中数据成员的值会是多少
- const引用右值的类数据成员的生命周期是多少?