2009-08-17

C++ STLvectorコンテナのsize()関数

醜悪なことにこいつの返り値はintではなくunsigned intのようだ。

従って、サイズ0のvectorに対して

vec.size()-1

という演算をすると結果は-1ではなく、オーバーフローしてunsigned intの最大値になる。

サイズがゼロだったら-1になるだろjkとか思ってコーディングすると酷い目にあう。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん