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
Logo

云原生社区为您提供最前沿的新闻资讯和知识内容

更多推荐