【发布时间】:2015-09-04 14:54:41
【问题描述】:
为什么const STL 容器只返回const_iterators?
例如 std::vector 和 std::list 都具有方法 begin 重载
如:
iterator begin();
const_iterator begin() const;
const_iterator cbegin() const;
我认为我仍然可以修改 const 向量的值,但不能修改向量本身。根据标准库没有区别:
const std::vector<int>
和
const std::vector<const int>
【问题讨论】:
-
节点:stackoverflow.com/questions/27065617/… 不回答我的问题。
-
容器的“价值”和容器本身没有区别。想象一下,如果我们谈论的是整数而不是向量。说你可以改变整数的值但不能改变整数“本身”是什么意思?
-
@DavidSchwartz 谢谢,这是有道理的。
标签: c++ stl iterator standard-library