掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CStringを関数で戻す場合 (ID:69064)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
CStringを戻り値にした場合の質問です。 fooSub()が呼ばれた時点で strSub は作られて returnするときに strSub は開放されてしまうと思いますが ちゃんと呼び出し側の foo() の str に代入されるのでしょうか? 下記のような感じの場合です。 ちなみに、心配しているポイントは、strSub の文字列の領域等は ヒープに動的に確保されるのではないかと思いますが、return で strSub はスコープから抜けるので、strSub のヒープ上の文字列の 領域等は開放されてしまうのではないか?と思ったからです。 CString fooSub() { CString strSub; strSub = .....; //処理 return strSub; } void foo() { CString str; str = fooSub(); ..... return; }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.