基于范围的for循环C++11

  这简化了一种常见的循环任务:对数组或容器类,如vector和array,的每个元素执行相同的操作。

 1   double prices[5] = {4.99, 10.99, 6.87, 7.99, 8.49};
 2
 3   for (double x : prices)
 4
 5       std::cout<< x << std::endl;
 6
 7   for (double &x : prices)
 8
 9       x = x *0.80;
10
11   for (int x: {3, 5, 2, 8, 6})
12
13       std::cout << x <<" ";
14
15   std::cout << ‘\n‘;

来自为知笔记(Wiz)

时间: 2024-08-10 15:07:37

基于范围的for循环C++11的相关文章

C++11 新特性(6) 基于范围的for循环

C++11中添加了一项基于范围的for循环,这可以省却我们很多的代码量. 来自维基百科的解释:http://zh.wikipedia.org/wiki/C++0x#.E5.80.99.E9.81.B8.E8.AE.8A.E6.9B.B4 Boost C++ 定义了许多"范围 (range) "的概念.范围表现有如受控制的列表 (list),持有容器中的两点.有序容器是范围概念的超集 (superset),有序容器中的两个迭代器 (iterator) 也能定义一个范围.这些概念以及操作的

C++11基于范围的for循环

C++11包含一种新的 for 循环,称为基于范围的 for 循环,可以简化对数组元素的遍历.格式如下: 1 for(Type VarName : Array){ 2 //每个元素的值会依次赋给 VarName 3 } 例如: 1 int array[] = {1, 2, 3, 4}; 2 for(int x : array){ 3 cout << x; 4 } 5 cout << endl; 例子会输出:1234 定义用于遍历数组的变量时,可以使用和普通函数参数一样的修饰符.本例

c++11——基于范围的for循环

c++11中有基于范围的for循环,基于范围的for循环可以不再关心迭代器的概念,只需要关系容器中的元素类型即可,同时也不必显式的给出容器的开头和结尾. int arr[] = {1, 2, 3, 4}; for(int a : arr){ ... } vector<string> str_arr{"hello", "world", "fuck"}; for(auto v : str_arr){ ... } 如果希望修改容器中的元素,

c++11之一: 基于范围的for循环

#include <iostream> using namespace std; int main(){ int ary[5]{1,2,3,4,5}; for (int& e: ary) e *= 2; for (int e: ary) cout<<e<<'\t'; cout<<endl; } 编译使用: g++ -o for for.cpp -std=c++11 for循环后的括号由冒号":"分成两部分,第一部分是范围内用于迭代

c++ 11 基于范围的for循环

基于范围的for循环: 对于内置数组以及包含方法begin()和end()的类(如std::string)和STL容器,基于范围的for循环可以简化为他们编写循环的工作.这种循环对数组或容器中的每个元素执行指定的操作: #include <iostream> int main() { double prices[5] = {4.99,10.99,6.87,7.99,8.49}; for (double x : prices) std::cout << x << std:

Atitit.升级软件的稳定性---基于数据库实现持久化 循环队列 循环队列

Atitit.升级软件的稳定性---基于数据库实现持久化  循环队列 环形队列 1. 前言::选型(马) 1 2. 实现java.util.queue接口 1 3. 当前指针的2个实现方式 1 1.1. 用一个游标last 来指示 (指针表字段last ),麻烦的,不推荐 1 1.2. (简单,推荐)使用循环次数来指示,每循环加1   (字段cirTimes),order by cirtimes 1 4. 表格设计id, cirTimes,createtime,handlerID,recID,d

基于范围的for循环(STL)

1. double prices[5]={4.99,5.99,6.99,7.99,8.99}; for (double x : prices) cout<<x<<endl; //////////////// for (auto x : prices) cout<<x<<endl; 不同于for_each(),基于范围的for循环可修改容器的内容,诀窍是指定一个引用参数.

基于无锁队列和c++11的高性能线程池

基于无锁队列和c++11的高性能线程池线程使用c++11库和线程池之间的消息通讯使用一个简单的无锁消息队列适用于linux平台,gcc 4.6以上 标签: <无> 代码片段(6)[全屏查看所有代码] 1. [代码]lckfree.h ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 // lckfree.h //

基于ORACLE数据库的循环建表及循环创建存储过程的SQL语句实现

一.概述 在实际的软件开发项目中,我们经常会遇到需要创建多个相同类型的数据库表或存储过程的时候.例如,如果按照身份证号码的尾号来分表,那么就需要创建10个用户信息表,尾号相同的用户信息放在同一个表中. 对于类型相同的多个表,我们可以逐个建立,也可以采用循环的方法来建立.与之相对应的,可以用一个存储过程实现对所有表的操作,也可以循环建立存储过程,每个存储过程实现对某个特定表的操作. 本文中,我们建立10个员工信息表,每个表中包含员工工号(8位)和年龄字段,以工号的最后一位来分表.同时,我们建立存储