当前位置: 首页 > news >正文

C++中的initializer_list类

目录

initializer_list类

介绍

基本使用

常见函数


initializer_list类

介绍

initializer_list类是C++11新增的类,其原型如下:

template<class T> class initializer_list;

有了initializer_list,一些容器也可以实现列表初始化,例如vector中的构造函数:

vector (initializer_list<value_type> il,const allocator_type& alloc = allocator_type());

基本使用如下:

#include <iostream>
#include <vector>int main()
{std::vector<int> v{1,2,3,4,5};std::for_each(v.begin(), v.end(), [](int num) -> void {std::cout << num << " ";});return 0;
}输出结果:
1 2 3 4 5

基本使用

在标准库中,initializer_list可以使用下面的构造函数创建一个空initializer_list对象:

initializer_list() noexcept;

但是,根据官方文档的描述,尽管缺乏有参构造函数,initializer_list类依旧可以创建非空对象,只需要使用花括号列表初始化即可,例如下面的代码:

std::initializer_list<int> il{1,2,3,4};

常见函数

initializer_list类有三种常用的函数:

  1. size():获取initializer_list对象中的元素个数
  2. begin():获取initializer_list对象中第一个元素位置的迭代器
  3. end():获取initializer_list对象中最后一个元素下一个位置的迭代器

基本使用如下:

#include <iostream>
#include <vector>int main()
{std::initializer_list<int> il{1,2,3,4};std::cout << il.size() << std::endl;std::for_each(il.begin(), il.end(), [](int num) -> void {std::cout << num << " ";});return 0;
}输出结果:
4
1 2 3 4


http://www.mrgr.cn/news/51636.html

相关文章:

  • 计算机挑战赛9
  • Gin框架操作指南02:JSON渲染
  • YoloV10改进:Neck层改进|使用ContextAggregation模块改善Neck的输出特征|即插即用
  • HarmonyOS开发(ArkUI简单使用)
  • 基本计算器 II
  • stm32启动时用到的systeminit、__main说明
  • 使用IMX6UL实现UART串口通信
  • 网络编程(21)——通过beast库快速实现http服务器
  • Shiro认证
  • 2. MySQL数据库基础
  • 本地typora编辑的.md文件上传到【语雀】->【CSDN】
  • Java-IO流使用场景
  • 4、CSS3笔记
  • 【Web前端概述】
  • mybatis-plus的Iservice接口的save方法,返回true,但是数据库表里却没有看到新记录
  • torchserve在转转GPU推理服务架构下的实践
  • 教学资料管理|基于springBoot的教学资料管理系统设计与实现(附项目源码+论文+数据库)
  • 设置静置情况下getCurrentCalls方法为何一直打印?
  • 25届计算机保研经验贴(中末九保清北及华五人、自动化所、北邮、港中文)
  • 【推导过程】常用连续分布的数学期望、方差、特征函数