私はそのようなクラスを書きました:
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;