C++迭代器中 cbegin,cend 与 begin,end 的区别
cbegin和cend是C++11新标准引入的两个函数。begin和end换回的具体类型由对象是否是常量来决定,如果是常量,begin和end换回const_iterator;如果不是常量,换回iterator;cbegin和cend是不管是对象本身是不是常量,换回值都是const_iterator.下面通过容器说明:vector<int> v;const vector<...
·
cbegin和cend是C++11新标准引入的两个函数。
begin和end换回的具体类型由对象是否是常量来决定,如果是常量,begin和end换回const_iterator;如果不是常量,换回iterator;
cbegin和cend是不管是对象本身是不是常量,换回值都是const_iterator.
下面通过容器说明:
vector<int> v;
const vector<int> cv;
auto it1 = v.begin(); //it1类型是vector<int>::iterator
auto it2 = cv.begin(); //it2类型是vector<int>::const_iterator
auto it3 = v.cbegin(); //it3类型是vector<int>::const_iterator
更多推荐
已为社区贡献1条内容
所有评论(0)