次のコードで間違いを見つけなければなりません。それはどれですか?関数を使用したオブジェクトの作成C++
-1
A
答えて
2
スタックからアドレスを返します。
1
一時オブジェクトをスタックに作成し、そのオブジェクトへのポインタを返します。機能が終了した後にはそれが存続する保証はありません。
2
この関数の呼び出し元は、呼び出した後に何を行いますか?
t
の有効期間はいつですか?終了日はいつですか?
これらの両方がどのようにして不幸な結果につながりますか?
t
は、関数のローカルなので、閉じ括弧で右に消滅します。返されたポインタはまったく使用できませんが、それは呼び出し元がおそらく実行するものであり、未定義動作を引き起こします。
1
あなたはあなたが関数から戻ったときにスコープから外れている、tにポインタを返すしている機能
1
の終わりに存在していないローカルオブジェクトにポイントを戻ってきています。関数の中に新しいポインタを作成し、それを返す必要があります。
cObject *t = new cObject();
return t;
+1
参照ではなくポインタ –
関連する問題
- 1. 関数を使用したJavascriptオブジェクトの作成
- 2. c#で関数を使って作成したオブジェクトにアクセスする方法
- 3. 関数パラメータを使用してオブジェクトを作成する
- 4. C++を使用してトゥイーン関数を作成しますか?
- 5. マップを使用したオブジェクト関数からの配列の作成
- 6. 、私は、関数の外で別の変数を使用する変数を作成したい関数C#
- 7. C++クラス/オブジェクト関数の使用クエリ
- 8. JSON ASP.NET Webサービスを使用した複数のオブジェクトの作成
- 9. は、アドインExcel用私はオートメーションを作成したC#関数
- 10. C#の関連オブジェクトのセットから複数のツリーを作成
- 11. kill関数を使用したゾンビプロセスの作成
- 12. AsyncTaskを使用したコールバック関数の作成
- 13. 集計関数を使用したSQLクエリの作成。
- 14. C++:テンプレートを使用した関数ポインタ
- 15. 関数はオブジェクトとオブジェクトを使用して関数を使用します
- 16. ある関数でオブジェクトを作成し、別の関数でオブジェクトを作成できますか?
- 17. C#のコールバックに使用できるC++のDLL関数のラッパーを作成
- 18. JavaScriptを使用して作成された匿名関数eval()
- 19. コンストラクタコールを使用しないC++オブジェクトの作成
- 20. C++のオブジェクトの関数の結果を使用してオブジェクトの配列をソート
- 21. 関数ポインタを使用してCでファームウェアパッチを作成しますか?
- 22. 関数で "オブジェクト"を操作するC
- 23. C、pthread_create関数を使用してスレッドを作成する方法
- 24. C#を使用して関数ログファイルを作成する方法は?
- 25. make_heap関数オブジェクトを使用
- 26. RailsでJSONを使用したネストされたオブジェクトの作成
- 27. 別の関数で関数によって作成されたオブジェクトを変更する方法C#
- 28. JS - カスタムjsオブジェクト用のユーザー定義関数を作成する
- 29. C sizeOf演算子:myOwnSizeOf()関数を作成したい
- 30. "サブ関数"のオプションを使用してjquery関数を作成する方法
重複する質問が10億件あります。 – user2079303