ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

constその2 const_iterator

Effectvie C++ 第1章3項

STLiteratorでのconstの場合。iteratorの宣言にconstを付けるとiterator自体がconstとなり、参照先のデータはconstとはならず変更できる。

std::vector<int> v;

const std::vector<int>::iterator p = v.begin();
*p = 123; // これはOK
p++; // これはできない

参照先のデータを変更できないようにconstとするにはconst_iteratorを使う。

std::vector<int> v;

std::vector<int>::const_iterator p = v.begin();
*p = 123; // これはできない
p++; // これはOK