【cocos2d-x】vectorの落とし穴

LINEで送る
Pocket

c++におけるvectorクラスは複数の要素を管理するコンテナの意で多用すると思いますが、コンパイラが教えてくれない落とし穴があったので紹介したいと思います。


要素数を超えた参照


JavaやObjective-cであればIndexOutOfBoundsExceptionとかでエラーを吐いてクラッシュしますがc++ではクラッシュしません。
クラッシュはしないですが、vインスタンスの管理外のポインタを参照している事は明らかですね。

上記の例で見ると単純に見えますが、クラッシュしてくれないので非常に気付きにくいバグと言えるでしょう。

誰かのお役に立てば。

このブログのcocos記事一覧

LINEで送る
Pocket

Dalt

translimit, Inc. Application Engineer. Twitter: @daiki1003 Facebok: Daiki Asahi

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です