CString GetBuffer について – プログラミング – Home

通知
すべてクリア

[解決済] CString GetBuffer について


パブリオ
 パブリオ
(@パブリオ)
ゲスト
結合: 22年前
投稿: 8
Topic starter  

こんにちは。

CString の GetBufferに関してですが、

GetBuffer(0) にした場合は、ReleaseBuffer() を
しなくてもメモリの開放漏れなどは発生しない ので、
特に実行する必要はないといった事を聞いた事があるのですが、
本当でしょうか?

ちなみに 今までは、必ず GetBuffer->ReleaseBuffer の関係は
保っています。


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

CString s;
s.GetBuffer(100);

とやって、ReleaseBuffer()しないプログラムを作成し、
デバッガで実行した時に、
メモリリークが報告されるか確認してみてはどうでしょうか。

また、CString::~CString()のソースコードを
見てGetBuffer()されている場合に解放しないような
処理があるかどうかを確認すれば確実です。


返信引用
パブリオ
 パブリオ
(@パブリオ)
ゲスト
結合: 22年前
投稿: 8
Topic starter  

dairygoods さん

デバッガで確認したところメモリリーク発生しますね。

CString s;
s.GetBuffer(100);
の場合はReleaseBufferをやらなくてはいけない。
s.GetBuffer(0);
の場合はReleaseBufferをやらなくてもいい。

どこから流れてきた情報だったんだろう。。。

有難うございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました