このconstキーワードの意味について少し混乱しています私はこのようなクラスを持っています
class ClassA {
public:
typedef std::tr1::shared_ptr<ClassA> ptr;
typedef std::tr1::shared_ptr<const ClassA> const_ptr;
void oper() const;
void oper();
private:
.....
};
int main()
{
std::list<ClassA::const_ptr> const_list;
.....
for(std::list<ClassA::const_ptr>::iterator it = const_list.begin();\
it != const_list.end(); it++)
{
(*it)->oper();
}
return 0;
}
上記のコードからoper()のconstバージョンをすでに取得しています。したがって、std :: list::iteratorをstd::list::const_iteratorに変更した場合に何が得られるか想像できません。