我写了这样的课:
class FastDecoder
{
public:
FastDecoder(void);
~FastDecoder(void);
private:
SnapshotMessageBuilder messageBuilder;
DecodedMsg const& decodedMsg;
};
使用messageBuilder
初始化是否正确decodedMsg
?
FastDecoder::FastDecoder(void):
decodedMsg(messageBuilder.GetDecodedMsg())
{
我怀疑由于尚未构建 FastDecoder,因此并非所有字段都可能已初始化,因此尝试访问时可能会出现运行时错误messageBuilder
如果我的代码不好,那么如何更好地重写它?如果我重新排序这样的字段,它会继续工作吗:
private:
DecodedMsg const& decodedMsg;
SnapshotMessageBuilder messageBuilder;