C++11-范围for(range for)

Posted jovesun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++11-范围for(range for)相关的知识,希望对你有一定的参考价值。

语法形式:

for (declaration : expression)
    statement

其中expression是一个对象,表示一个序列;declaration表示一个基础变量。如:

string str("my string");
for (auto c : str)
    cout<<c<<endl;  //每行输出str的第一个字符;

for(引用,range)

#include <iostream>
#include<string>
using namespace std;
int main() 
    string str("This is a cpp_test sample!");
    decltype(str.size()) cnt = 0;  //类型为string::size_type
    for (auto &c : str) 
        if (ispunct(c))
            cnt++;
        else
            c = toupper(c);
    
    cout << str << endl << cnt;

 

以上是关于C++11-范围for(range for)的主要内容,如果未能解决你的问题,请参考以下文章

C++11的for循环,以及范围Range类的实现

在 Qt 中正确使用 C++11 基于范围的 for 循环

我应该在基于 C++11 范围的 QHash::keys() 上使用 qAsConst

C++ STL应用与实现26: 如何使用std::for_each以及基于范围的for循环 (since C++11)

C++ 11 ranged based for 带有指针的语句

4/26打卡,范围for循环