C++ begin( ) cbegin( ) end() cend()区别
Posted 软件工程小施同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ begin( ) cbegin( ) end() cend()区别相关的知识,希望对你有一定的参考价值。
1.iterator,const_iterator作用:遍历容器内的元素,并访问这些元素的值。iterator可以改元素值,但const_iterator不可改。跟C的指针有点像。
2.const_iterator 对象可以用于const vector 或非 const vector,它自身的值可以改(可以指向其他元素),但不能改写其指向的元素值。
3.cbegin()和cend()是C++11新增的,它们返回一个const的迭代器,不能用于修改元素。
#include <iostream>
#include <set>
using namespace std;
int main()
{
// cbegin/cend(c++11): Returns a const_iterator pointing to the first element in the container/
// Returns a const_iterator pointing to the past-the-end element in the container
std::set<int> myset = { 50, 20, 60, 10, 25 };
std::cout << "myset contains:";
for (auto it = myset.cbegin(); it != myset.cend(); ++it)
std::cout << ' ' << *it;
std::cout << '\\n';
auto a = myset.find(10000);
std::cout << *a;
std::cout << '\\n';
system("pause");
return 0;
}
原文链接:https://blog.csdn.net/u010987458/article/details/70949112
以上是关于C++ begin( ) cbegin( ) end() cend()区别的主要内容,如果未能解决你的问题,请参考以下文章
cbegin()/cend() 与 constBegin()/constEnd()