通知
すべてクリア
Topic starter
2003年3月12日 7:14 PM
こんにちは。
CString の GetBufferに関してですが、
GetBuffer(0) にした場合は、ReleaseBuffer() を
しなくてもメモリの開放漏れなどは発生しない ので、
特に実行する必要はないといった事を聞いた事があるのですが、
本当でしょうか?
ちなみに 今までは、必ず GetBuffer->ReleaseBuffer の関係は
保っています。
2003年3月12日 8:11 PM
CString s;
s.GetBuffer(100);
とやって、ReleaseBuffer()しないプログラムを作成し、
デバッガで実行した時に、
メモリリークが報告されるか確認してみてはどうでしょうか。
また、CString::~CString()のソースコードを
見てGetBuffer()されている場合に解放しないような
処理があるかどうかを確認すれば確実です。
Topic starter
2003年3月13日 9:56 AM
dairygoods さん
デバッガで確認したところメモリリーク発生しますね。
CString s;
s.GetBuffer(100);
の場合はReleaseBufferをやらなくてはいけない。
s.GetBuffer(0);
の場合はReleaseBufferをやらなくてもいい。
どこから流れてきた情報だったんだろう。。。
有難うございました。