假设您有这样的课程:
class A
{
public:
A () {}
A (double val) : m_val(val) {}
~A () {}
private:
double m_val;
};
创建 A 的实例后,如何检查 m_val 是否已初始化/定义?
换句话说,有没有办法知道 m_val 是否已初始化/定义?类似的东西defined
我想,Python 中的运算符。 (但如果我错了,请纠正我。)
我想按以下方式修改类和 c-tors:
class A
{
public:
A () : defined(false) {}
A (double val) : m_val(val), defined(true) {}
~A () {}
private:
double m_val;
bool defined;
};
您如何评价这个解决方案?有什么建议吗?
TIA,
克里斯
您需要在默认构造函数中设置一个合理的默认值,否则其值是未定义的。这基本上意味着它将是一个随机值——可能是 0、NaN 或 2835.23098——除非您明确设置它,否则无法判断。
class A
{
public:
A () : m_val(0.0) {}
A (double val) : m_val(val) {}
~A () {}
private:
double m_val;
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)