ページ 11

C++ std::string のメモリリーク?

Posted: 2010年9月07日(火) 22:56
by Yperia
こんにちは。
お世話になります。

特定の条件下で、std::string型の変数に長い文字列を突っ込むと、メモリリークしてしまうようです。
特定の条件下というのが自分でも分からず、何が原因なのかも分かりません。

ソースを添付しますので、どうか見てくださいませんでしょうか。
ShootingTitle.cppのGame::Shooting::CTitle::CMainクラスのstd::string型の変数が病原体です。(のように見えます。)


以下、出力された内容です。

(中略)
'thSTG.exe': 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6002.18005_none_5cb72f96088b0de0\comctl32.dll' を読み込みました
Detected memory leaks!
Dumping objects ->
{60} normal block at 0x01CC3EC0, 48 bytes long.
Data: <aaaaaaaaaaaaaaaa> 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
Object dump complete.
プログラム '[6348] thSTG.exe: ネイティブ' はコード 0 (0x0) で終了しました。
(中略)




よろしくお願いします。

Re:C++ std::string のメモリリーク?

Posted: 2010年9月07日(火) 23:05
by Justy
 Cクラスのポインタである scenesを破棄しても継承している CMainのデストラクタが
呼ばれないからでしょう。

6章:継承
http://www5c.biglobe.ne.jp/~ecb/cpp/06_09.html

Re:C++ std::string のメモリリーク?

Posted: 2010年9月08日(水) 22:54
by Yperia
あぁ……確かに……っ!
もやもやがすっきりしました。
ありがとうございます!