コンストラクタで初期化せずに参照をメンバ変数として使用する方法はありますか? 私の問題は、オブジェクトを構築するときに参考にしていないことです。初期化のないクラスメンバー変数としての参照
0
A
答えて
2
> Is there a way to use a reference as a member variable without initialising it in the constructor?
いいえ、参照が
> My problem is that I don't have the reference at hand when constructing the object.
コンストラクタ初期化子リストで初期化する必要があります私はあなたが何を意味するかと思いますが参照するオブジェクトを持っていないです。その場合は、ポインタを取得してNULLに初期化する必要があります。その後、オブジェクトを持っているときにポインタがそれを指すようにします。この場合、NULLへの参照を初期化できないため、参照は使用できません。
4
いいえ。参照は作成時に初期化する必要があります。以降は変更できません。標準は、
を示します。有効なオブジェクトまたは 機能を参照するようにリファレンスを初期化する必要があります。
ターゲットオブジェクトを構築中でない場合は、参照の代わりにポインタを使用して切り替えます。
0
参照が初期化されると、その参照は同じエンティティを指すようになります。それを「再配置」しようとすると、未定義の動作になります。
簡単な答え:初期化できない場合は使用できません。
関連する問題
- 1. 参照変数のC++の初期化
- 2. const参照変数の初期化
- 3. C++参照変数の初期化リスト
- 4. 参照型変数の初期化と格納
- 5. 参照の初期化C++
- 6. クラスメンバーの初期化C++
- 7. 参照の一様な初期化
- 8. 初期化関数で静的クラスメンバーを初期化する
- 9. MSVC2015は初期化されていないクラスメンバーを初期化する
- 10. 初期化データメンバ参照は++
- 11. C++クラスメンバー初期化シーケンス
- 12. C++初期化クラスメンバー変数は他のメンバ変数に依存します
- 13. クラスメンバ参照変数を通常の変数のように初期化する
- 14. 初期化リストを介してコンストラクタ内のクラスメンバー(ベクトル)を初期化する
- 15. 初期化されていない参照メンバ
- 16. 初期化されていない後方参照
- 17. C++ - 静的クラスメンバーの初期化と変更
- 18. R参照クラスのメソッド初期化
- 19. Enumerable.Repeat参照型オブジェクトの初期化
- 20. Swift:初期化時の関数のオーバーライド(Javaの例を参照)
- 21. レイクのモデル参照での初期化されない定数エラー
- 22. 初期化されていない参照変数がヌルでない場合はどうですか?
- 23. constクラスメンバーをデフォルト値で初期化
- 24. 初期化されていないオブジェクトへの参照をC++でコピーする
- 25. ORA-O6531:初期化されていないコレクション・エラーへの参照
- 26. タイプBinaryNode *の非const参照の無効な初期化&
- 27. タイプ 'cv :: Point2f&'の非const参照の無効な初期化
- 28. 初期化子リストのクラスメンバーを参照するのは未定義の動作ですか?
- 29. 関数の初期化されていないローカル変数
- 30. 関数内の初期化されていない変数
あなたがしたいことを示してください。コンストラクタ内ですべての初期化を実行する必要はないかもしれませんが、必要なときに何かを怠惰にすることができます。 –
手元への参照をした後にオブジェクトを構築できますか? –