C 参照変数を返す: 良いもの、悪いもの、醜いもの
C を返すのは「悪」かどうかの問題参照変数は、プログラミング コミュニティで議論を引き起こしました。潜在的な落とし穴とベスト プラクティスを理解すると、情報に基づいた意思決定を行うのに役立ちます。
問題は何ですか?
一部の人によると、参照を返すとメモリ リークのリスクが高まる可能性があります。関数呼び出し後に破棄されるオブジェクトを参照している場合。これは次の場合に発生する可能性があります。
The Evil例
これらの例は、危険性を示しています。
int& getInt() { int i; return i; // DON'T DO THIS }
これは、関数呼び出し後に破棄されるスタック割り当て変数への参照を返し、未定義の動作を引き起こします。
int& getInt() { int* i = new int; return *i; // DON'T DO THIS }
これはヒープに割り当てられた変数への参照を返しますが、クライアントは紛らわしい delete 構文を使用して手動で削除する必要があります&reference.
ベスト プラクティス
これらの問題を回避するには、次のガイドラインに従ってください:
結論
参照を返すとき便利な場合もありますが、潜在的なリスクを認識することが重要です。上記のベスト プラクティスに従うことで、メモリ リークを回避し、安全で保守しやすいコードを作成できます。
以上がC 参照変数を返すのが安全な場合とそうでない場合は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。