[C++11]范围for循环/using使用

范围for循环

范围for循环(Range-based for loop)是 C++11 引入的一种简洁的循环语法,用于遍历容器中的元素或者其他支持迭代的数据结构。

范围for循环可以让代码更加简洁和易读,避免了传统for循环中索引的操作。

下面是范围for循环的基本语法:

cpp 复制代码
for (const auto &element : container) {
    // 对 element 进行操作
}

container 是一个可以被迭代的对象,比如数组、容器(如 vector、list、set 等)、字符串等。

element 是容器中的每个元素,在循环的每次迭代中都会被赋值为容器中的一个元素,而且是以 const auto & 的形式引用该元素,可以避免不必要的拷贝。

c 复制代码
#include <iostream>
#include <vector>
using namespace std;

int main(void)
{
    vector<int> t{ 1,2,3,4,5,6 };
    for (auto value : t)   //for (const auto &value : vec) 
    {
        cout << value << " ";
    }
    cout << endl;

    return 0;
}

在for循环内部声明一个变量的引用就可以修改遍历的表达式中的元素的值,但是这并不适用于所有的情况,对应set容器来说,内部元素都是只读的,这是由容器的特性决定的,因此在for循环中auto&会被视为const auto & 。

using的使用

  1. 使用 using 定义别名:
c 复制代码
//using 新的类型 = 旧的类型;
using MyInt = int;


//定义函数指针
// 使用typedef定义函数指针
typedef int(*func_ptr)(int, double);

// 使用using定义函数指针
using func_ptr1 = int(*)(int, double);
相关推荐
djarmy14 分钟前
一级函数头地址指针,(*p_func)的函数头的返回值,(*p_func)的函数头的参数列表
c++
小明同学0117 分钟前
C++后端项目:统一大模型接入 SDK(一)
linux·c++·chatgpt
林夕0717 分钟前
Qt 6.x 新特性概览:从 Qt 5 到 Qt 6 的升级之路
c++·qt6·跨平台开发
basketball6161 小时前
C++ 强制类型转换:从 C 风格到 C++ 四大金刚
java·c语言·c++
无限进步_1 小时前
C++11概览与统一初始化
开发语言·c++
吃着火锅x唱着歌1 小时前
深度探索C++对象模型 学习笔记 第五章 构造、解构、拷贝语意学(1)
c++·笔记·学习
承渊政道2 小时前
【贪心算法】(经典实战应用解析(五):单调递增的数字、坏了的计算器、合并区间、⽆重叠区间、⽤最少数量的箭引爆⽓球)
数据结构·c++·leetcode·贪心算法·排序算法·动态规划·哈希算法
Brilliantwxx2 小时前
【C++】深度剖析 · 继承 (虚基表+虚函数表)
开发语言·c++
一只旭宝2 小时前
【C加加入门精讲15】:IO流缓冲区、字符串流、缓冲流及STL vector容器零基础实战教程一、博客前言
开发语言·c++
alwaysrun2 小时前
C++之高性能跨平台日志库spdlog
c++·后端·编程语言