for(auto elem:range)语句是C++11更新带来的令很多C++程序员期待已久的for range循环

int main() {vector<int> vec;vec.push_back(1);vec.push_back(2);vec.push_back(3);vec.push_back(4);for (auto elem : vec) {cout << elem << endl;           //输出容器的遍历 1   2   3   4}return 0;
}

有以下几种形式:
1) for(auto elem : range)
创建range的拷贝,遍历时无法修改range中的元素。
2) for(auto& elem : range)
不创建range的拷贝,可以直接修改range中的元素,但一般用以下这种形式。
for(auto&& elem : range)
3)) for(const auto & elem : range)
不创建range的拷贝,只读range中的元素。

c++ for(auto elem:range)相关推荐

  1. 自定义 C++ 中的 range() 函数

    在 Python 生成连续的可迭代的序列,常用十分 convenient 的 range()函数(包含左端点,不包含右端点): # Python >>> range(5) range ...

  2. C++11中auto的使用

    在C语言中,就有了auto关键字,它被当作是一个变量的存储类型修饰符,表示自动变量(局部变量).它不能被单独使用,否则编译器会给出警告.在C++11标准中,添加了新的类型推导特性.在C ++11中,使 ...

  3. JS Range 对象的使用

    一:什么是Range对象 Range是指html文档中的区域,如用户用鼠标拖动选中的区域,如下图: 通过Range对象,可以获取用户选中的区域,或者指定选中区域,得到Range的起点和终点.修改或者复 ...

  4. c++面向对象高级编程 学习十三 数量不定的模板参数,auto,for

    文章目录 数量不定的模板参数 auto ranged-base for 数量不定的模板参数 void print() {} //... 表示参数的数量不定 template<typename T ...

  5. for循环的auto用法

    拷贝range的元素时,使用for(auto x : range). for(auto a:b)中b为一个容器,效果是利用a遍历并获得b容器中的每一个值,但是a无法影响到b容器中的元素. 修改rang ...

  6. for(auto i : v)遍历容器元素

    for(auto i: v)遍历容器元素 1. auto 2. auto& 3. const auto& 4. const auto C++11 新增了一种循环:基于范围(range- ...

  7. C++11:使用 auto/decltype/result_of使代码可读易维护

    C++11 终于加入了自动类型推导.以前,我们不得不使用Boost的相关组件来实现,现在,我们可以使用"原生态"的自动类型推导了! C++引入自动的类型推导,并不是在向动态语言(强 ...

  8. 882@for (auto x : nums)遍历时const auto 和auto的区别

    一:auto 和const auto& 1.auto即 for(auto x:range) 这样会拷贝一份range元素,而不会改变range中元素: 2.当只想读取range中元素时,使用c ...

  9. C++ auto用法

    C++ auto用法 1.auto就是自动变量 他会自动推断后面的变量类型,进行自动初始化,创建时必须初始化 1.1 普通类型自动推断 auto x = 11; // auto 被推断为 int 类型 ...

最新文章

  1. node+express+MongoDB实现小商城服务端
  2. python学习之matplotlib绘制动图(FuncAnimation()参数)
  3. SAP附件UI里选择的文件是如何传到ABAP服务器的
  4. Java读源代码学设计模式:适配器Adapter
  5. python内置对象是什么_#【Python】【基础知识】【内置对象常用方法】
  6. ambari搭建注意事项
  7. IG击败TOP进入春季赛决赛 王思聪督战时吃玉米动作亮了
  8. 勒索团伙正奔向 SonicWall 设备
  9. ajax fetch api,fetch 简介: 新一代 Ajax API
  10. mysql 事务处理null_如何使用Mysql正确的处理财务数据
  11. Mysql启动报错解决方案:Failed to open log (file ‘./mysql-bin.000901‘, errno 2)
  12. shiro框架学习(一)
  13. 数据库基础知识(MySQL入门)
  14. newifi3刷什么固件最稳定_新路由三无线路由器刷什么固件好?
  15. [ABAP] MOVE-CORRESPONDING 表
  16. 苹果手机怎么隐藏照片?给iPhone相册上锁的3种方法
  17. 通过文件流解压压缩包
  18. js input 正则保留2位小数中文拼音输入问题 + 限制输入整数的方案
  19. 金融反作弊中的设备指纹
  20. VideoStream流媒体(VOD视频点播)系统平台

热门文章

  1. IBM Cognos TM1助箭牌优化销售预测
  2. 永大服务器显示M,永大电梯故障TCD说明.doc
  3. 蓝桥杯练习(第二十三天)
  4. 深圳计算机电缆,计算机电缆加工ZB-DJVP2V-深圳
  5. ISD1820语音模组的使用
  6. 杨氏双缝与等倾干涉实验Matlab仿真
  7. 利用Python产生加密表和解密表
  8. 基于51单片机的教室智能照明控制设计
  9. 常见三维文件格式之IGES
  10. Linux objdump命令(反汇编、查看符号)