我是C++中的新手,所以请耐心等待。在构造函数中初始化错误的成员
当没有有效的值分配给成员时,是否有在构造函数中初始化成员的最佳做法?
例如:
device_123::device_123(data_struct_t * initData)
{
if(initData==NULL)
{
print_error(0);
// what to initialize foo/bar to?
}
else
{
foo = initData->foo;
bar = initData->bar;
}
}
在“initData == NULL”的情况下,有没有干净的方法来初始化FOO &巴说:“嘿,我们实际上没有得到分配给正确的价值观我们”。
我知道这个问题可能听起来特定于我的代码实现应该如何解释foo/bar,但我只是想知道是否有最佳做法。
如果您必须初始化'foo'和'bar'数据成员,那么为什么没有一个构造函数来决定这个要求呢?例如,'device_123 :: device_123(const Foo&f,const Bar&b):foo(f),bar(b){}'。 –
“foo”和“bar”的“未真正初始化”值是什么? –