c++ - 为变量使用非初始值

标签 c++

考虑以下代码示例:

class MyClass {
    public:
    MyClass( float f, char a );

    private:
    int b;
};

这样声明,整数b的初始值是否默认设置为0?

如果可能的话,我可以像这样更改 b 的值吗: (请记住,以下代码将被调用多次,并且每次为 b 分配的值都需要用于程序的下一次迭代)

int fg = int(ds/r);
int temp1;
if(b==0) {
    temp1=0;
}

temp1=b;
b=fg;

最佳答案

默认不初始化。

在 C++ 11 中你可以这样写:

private:
    int b = 0;

现在,如果您不明确说明,该类的任何构造函数都将使用 0 初始化 b 的值

关于c++ - 为变量使用非初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16235238/

相关文章:

c++ - 候选函数不可行 : expects an l-value for 3rd argument

c++ - 使用 C 与使用 C++ 实现神经网络?

c++ - 计算机视觉 : tracking a coin flip

c++ - Eigen 中最大系数的索引(按列)

c++ - 在 C++ 的 neo4j_client 中迭代结果

c++ - 系统未在范围内声明?

c++ - 派生 basic_ostream : "using" keyword and ambiguous overload for operator <<

c++ - 扫描目录c++

c++ - 使用 ffmpeg 解码 AAC 音频

c++ - SFINAE : Detecting if a function is called by a compile time known value