C++マニアック STL の使い方,how to use STL,標準テンプレートライブラリ,standard template library,コンテナ,container,イテレータ,iterator,アルゴリズム,algorithm ページの末尾へ トップページへ
ポインタを配列やvectorで管理している時にSIGSEGV(不正アクセス)発生 vectorの末尾方面に入っているポインタ変数をdeleteした時に、プログラム終了時に不正アクセス。 vector実体をコピーしたのに中身にアクセスすると不正アクセス。 原因 同じクラスの複数のインスタンスをvectorや配列に入れて管理する事はよくある話で、SIGSEGVで墜ちるのもよくある話なので、その原因のヒントをば。 ポインタ配列は主にCで使う話なので今回はvectorで。 往々にしてこんなコードを書いてしまったりします。 std::vector<Hoge*> vecHoge; …… Hoge* pPointer = new Hoge(); // Hogeの新しいインスタンスの作製 vecHoge.push_back(pPointer); // vectorの最後に今作ったHogeインスタンスを追加
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く