我有點搞不清這個const關鍵字 的意思我有這樣C++ STL常量迭代和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,我會得到什麼。
我必須使用(* it) - > oper(),因爲列表中保存着對象而不是對象的智能指針。 – 2011-12-26 16:36:26
哦,傻我..我看到現在在for循環,但仍然主要點仍然適用 – 2011-12-26 16:37:36