答えて
本は、正しいです。さらに、本書では、プログラムの振る舞いがで定義されていないことを除いて、が省略されているようです。
したがって、実行していることが合法であるという印象を与えるなど、コンパイラは何かを行うことができます。
短い回答:do not do。
これは私の初期の考えでしたが、拡張子は*推移的ではないので、拡張子はここで適用されます。 – Bathsheba
@cplusplusratライフタイム拡張は 'return'ステートメント内では適用されません。事実、オブジェクトはそのスコープを超えて生き残ることはできません。多くても一時的には、それが作成される範囲の終わりまで生き残ることができます。 – Brian
ありがとうございます。私はMicrosoftのVisual Studioを使用しています。私はそれが動作するのを見たとき、それは私をたくさん心配した。 MVSが警告を発することに気付きました。 – user9418
ローカル変数newguy
は、スタックメモリに作成/割り当てされます。いくつかのローカル変数を持つ別の関数を呼び出して値を代入すると、newguy
のメモリを上書きします。したがって、clone2
への呼び出しの後で変数にアクセスすると機能するかもしれませんが、newguy
にアクセスする前に他の関数を呼び出すと、元のコンテンツがnewguy
にならない場合があります。 だからそれをするのは良い考えではありません;-)
- 1. SQL文の一時変数
- 2. 一時にブースト::バインドと参照変数
- 3. 一時変数Cmdエラーコード出力のリダイレクト
- 4. (iOS)一時変数のメモリ管理
- 5. 一時変数jspに保存
- 6. C++ - 一時変数とその寿命
- 7. SQL Serverの一時テーブルとテーブル変数
- 8. バッキングビーンのない一時変数?
- 9. 一時変数付きのPythonパフォーマンス
- 10. ASP.NET一時変数またはセッション変数
- 11. 一時的にJavaScriptのグローバル変数を変更する
- 12. 変数が変更されるまで一時停止
- 13. JavaScript:関数を一時停止し、グローバル変数を待つ
- 14. 一息変数変数名
- 15. 同時一覧変更
- 16. 一時テーブルpostgresql関数
- 17. 添字演算子の一時変数の回避
- 18. マルチスレッド時に単一のbool変数をロックする?
- 19. ワーカーで一時変数を使用する方法
- 20. メンバー変数を一時的に割り当てる方法は?
- 21. 一時的な変数を持たないExchangeハッシュ値
- 22. 一時変数をバインドしない `const int 'を指定する
- 23. グローバル変数を一時的にローカルスコープに置き換えます。
- 24. PowerShellの:一時ずに、コマンドからの終了コードに変数
- 25. Cマクロに一時変数が含まれていますか?
- 26. Rails:一時変数を設定しますか?
- 27. 一時変数を持つparforを使用する
- 28. 一時変数を持たない入力ベクトル
- 29. 一時変数を持たない返されたオブジェクトのアクセスプロパティ
- 30. ANDROID:一時停止したアクティビティの変数へのアクセス
本書は*ほとんど*正しいですが、 'newguy'は一時変数ではありません。これは、寿命が終わるローカル変数です。 – Brian
本はその章で定義されていない動作について実際に言及していますか?そうでない場合は、よく.... – LogicStuff
変数が存在しなくなると、おそらく同じ値を持つメモリが存在しますが、空きとしてマークされたメモリなので、動作は未定義です。多くのプログラムはこのようなエラーで何度も動作する可能性がありますが、この空きメモリが変更されるため、いつでも動作を停止します。 – EFenix