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

C++11 列表初始化(initializer_list),pair

1. {} 初始化

C++98 中,允许使用 {} 对数组进行初始化。

	int arr[3] = { 0, 1, 2 };

C++11 扩大了 {} 初始化 的使用范围,使其可用于所有内置类型和自定义类型。

struct Date
{int _year;int _month;int _day;Date(int year, int month, int day):_year(year),_month(month),_day(day){}
};int main()
{// 两种常见的用法:Date d1{2024, 6, 8};Date d2 = {2024, 6, 8};// 列表初始化可用于 new 表达式int* pa = new int[4]{ 0 };return 0;
}

2. std::initializer_list

int main()
{auto arr = { 1, 2, 3 };cout << typeid(arr).name() << endl; // typeid().name() 用于查看对象的数据类型return 0;
}

std::initializer_list 是 C++11 引入的一个模板类型,用于处理一组同类型的初始值。

主要用于构造函数和函数参数列表中,允许使用 {} 初始化或传递一系列相同类型的值。

std::initializer_list 作为构造函数的参数,C++11 对不少容器增加了 initializer_list 作为参数的构造函数:

std::initializer_list 作为 operator=() 的函数参数:

常见的使用场景:

int main()
{map<string, string> dict{ {"iterator", "迭代器"}, {"singularity", "奇异"}, {"sort", "排序"} };vector<int> v = { 1, 2, 3, 4, 5 };return 0;
}

3. pair 的补充知识

namespace MyTest 
{template<class T1, class T2>struct pair{pair(const T1& first, const T2& second):_first(first),_second(second){}template<class K, class V>pair(const pair<K, V>& kv):_first(kv._first),_second(kv._second){}T1 _first;T2 _second;};
}

相关文章:

C++11 列表初始化(initializer_list),pair

1. {} 初始化 C98 中&#xff0c;允许使用 {} 对数组进行初始化。 int arr[3] { 0, 1, 2 };C11 扩大了 {} 初始化 的使用范围&#xff0c;使其可用于所有内置类型和自定义类型。 struct Date {int _year;int _month;int _day;Date(int year, int month, int day):_year(year…...

Python3 笔记:字符串的 startswith() 和 endswith()

1、startswith() 方法用于检查字符串是否是以指定子字符串开头&#xff0c;如果是则返回 True&#xff0c;否则返回 False。如果参数 beg 和 end 指定了值&#xff0c;则在指定范围内检查。 语法&#xff1a;str.startswith(substr, beg0,endlen(string)) 参数&#xff1a; s…...

Web前端安全问题分类综合以及XSS、CSRF、SQL注入、DoS/DDoS攻击、会话劫持、点击劫持等详解,增强生产安全意识

前端安全问题是指发生在浏览器、单页面应用、Web页面等前端环境中的各类安全隐患。Web前端作为与用户直接交互的界面&#xff0c;其安全性问题直接关系到用户体验和数据安全。近年来&#xff0c;随着前端技术的快速发展&#xff0c;Web前端安全问题也日益凸显。因此&#xff0c…...

1.单选题 (2分)下列关于脚本的说法不正确的是( )。本题得分: 2分正确答案: A2.单选题 (2分)软件测试自动化的局限性不包含( )。本题得分: 2分

1.单选题 (2分) 下列关于脚本的说法不正确的是( )。 A 线性脚本是最复杂的脚本 B 结构化脚本具有较好的可读性、可重用性,易于维护 C 关键字驱动脚本在开发时,不关心基础函数,直接使用已定义好的关键字 D 数据驱动脚本将测试脚本和数据进行分离,同一个脚本可以针对不同的输…...

【Docker系列】跨平台 Docker 镜像构建:深入理解`--platform`参数

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

力扣1248.统计优美子数组

力扣1248.统计优美子数组 同930. 哈希表法 求前缀和 class Solution {public:int numberOfSubarrays(vector<int>& nums, int k) {int n nums.size();unordered_map<int,int> cnt;int res0,sum0;for(int i0,j0;i<n;i){cnt[sum] ;if(nums[i] & 1) …...

AI2THOR 2.1.0使用教程

一、安装和入门 1.1 AI2-THOR使用要求 操作系统&#xff1a; Mac OS X 10.9&#xff0c; Ubuntu 14.04显卡&#xff1a;DX9&#xff08;着色器型号 3.0&#xff09;或 DX11&#xff0c;功能级别为 9.3。CPU&#xff1a;支持 SSE2 指令集。Python 2.7 或 Python 3.5Linux 用户…...

在Nginx中配置php程序环境。

1、前言。   我一开始是想 搭建 Tomcat PHP 环境。   Tomcat并不能直接运行PHP&#xff0c;因为Tomcat是一个Java Web服务器&#xff0c;主要用于运行Java应用程序。但是&#xff0c;我们可以通过一些配置和工具来使Tomcat能够运行PHP。   在配置Tomcat支持PHP 项目的时…...

!力扣70. 爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 1. 递归&#xff08;超时&#xff09; class Solution { public:int climbStairs(int n) {if(n1){return 1;}if(n2){return 2;}return climbStairs…...

Spring boot+vue前后端分离

目录 1、前端vue的搭建 2、后端项目的构建 pom文件中引入的jar包 yml文件用来配置连接数据库和端口的设置 application.property进行一些整合 service层 imp层 mapper 实体类 额外写一个类、解决跨域问题 3、测试 1、前端vue的搭建 建立项目的过程略 开启一个建立好…...

Python基础总结之列表转字符串

Python基础总结之列表转字符串 在Python中&#xff0c;将列表转换为字符串有多种方法&#xff0c;最常用的是使用str.join()方法。这里有一些示例&#xff1a; 使用str.join()方法 这是将列表转换为字符串的最直接和最常用的方法。你需要确保列表中的所有元素都是字符串类型…...

二分【1】二分查找框架 查找指定元素

目录 二分查找 基本思想 几种情况汇总 一。严格递增序列 1.查找本身 2.查找第一个大于等于自己的 3.查找第一个大于自己的 4.严格递减序列 二。有重复元素 1.取其中第一个出现的 2.取其中最后一个出现的 二分查找 基本思想 几种情况汇总 一。严格递增序列 1.查找本身…...

Python 中如何使用 lambda 函数

在 Python 中&#xff0c;可以使用 lambda 函数来创建匿名函数。lambda 函数的语法是&#xff1a;lambda 参数: 表达式。以下是一些使用 lambda 函数的例子&#xff1a; 通过 lambda 函数来计算两个数的和&#xff1a; add lambda x, y: x y print(add(2, 3)) # 输出 5通过…...

关于焊点检测(SJ-BIST)模块实现

关于焊点检测&#xff08;SJ-BIST&#xff09;模块实现 语言 &#xff1a;Verilg HDL 、VHDL EDA工具&#xff1a;ISE、Vivado、Quartus II 关于焊点检测&#xff08;SJ-BIST&#xff09;模块实现一、引言二、焊点检测功能的实现方法&#xff08;1&#xff09; 输入接口&#x…...

关于修改Python中pip默认安装路径的终极方法

别想了&#xff0c;终极方法就是手动复制&#xff0c;不过我可以给你参考一下手动复制的方法 关于手动移动pip安装包的方法 别想了&#xff0c;终极方法就是手动复制&#xff0c;不过我可以给你参考一下手动复制的方法一、首先确认一下pip默认安装路径二、再确认一下需要移动到…...

android集成百度文心一言实现对话功能,实战项目讲解,人人都能拥有一款ai应用

大家好&#xff0c;今天给大家讲解下如何实现一个基于百度文心一言的app功能&#xff0c;app内部同时集成了讯飞的语音识别。本文适用于有android基础的小伙伴阅读&#xff0c;文章末尾放上本项目用到的全部实例代码&#xff0c;在使用前请务必看完本文章。 先来给大家看看效果…...

事件总线vueEvent

一个组件结束后要更新另一个组件数据&#xff0c;但是另一个组件和这个组件没有上下级关系 在 Vue 中&#xff0c;非父子组件之间进行通信通常需要使用事件总线或者其他的全局事件管理器。vueEvent 似乎是一个事件总线对象&#xff0c;通过 emit 方法触发了名为 updateData 的事…...

设计模式之观察者模式ObserverPattern(十一)

一、概述 观察者模式 (Observer Pattern) 是一种行为型设计模式&#xff0c;又被称为发布-订阅 (Publish/Subscribe) 模式&#xff0c;它定义了对象之间的一种一对多的依赖关系&#xff0c;使得当一个对象的状态发生变化时&#xff0c;所有依赖于它的对象都会自动收到通知并更新…...

JavaScript 编程语言【 数据类型】日期和时间

文章目录 日期和时间创建访问日期组件设置日期组件自动校准&#xff08;Autocorrection&#xff09;日期转化为数字&#xff0c;日期差值Date.now()基准测试&#xff08;Benchmarking&#xff09;对字符串调用 Date.parse总结✅任务创建日期显示星期数欧洲的星期表示方法许多天…...

RabbitMQ简单使用方法,以异步处理日志为例:

在RabbitMQ中异步记录日志的实现可以分为生产者将日志消息发送到队列&#xff0c;以及消费者从队列中取出消息并记录日志。当搭建好消息队列后&#xff0c;需要确保消费者持续运行&#xff0c;以便随时处理新进入的日志消息。 步骤一&#xff1a;设置生产者发送日志消息到Rabb…...

MyBatis-Plus中queryWrapper和lambdaQueryWrapper的eq方法实战对比:哪个更适合你的项目?

MyBatis-Plus中QueryWrapper与LambdaQueryWrapper的eq方法深度解析与实战选型指南 在Java持久层框架领域&#xff0c;MyBatis-Plus作为MyBatis的增强工具&#xff0c;其Wrapper条件构造器一直是开发者构建动态SQL的利器。其中eq方法作为最基础也是最常用的条件构造方法&#xf…...

Flagsmith监控与告警配置终极指南:确保功能开关平台稳定运行的完整方案

Flagsmith监控与告警配置终极指南&#xff1a;确保功能开关平台稳定运行的完整方案 【免费下载链接】flagsmith Open Source Feature Flagging and Remote Config Service. Host on-prem or use our hosted version at https://flagsmith.com/ 项目地址: https://gitcode.com…...

1999-2025.4汽车之家、懂车帝汽车配置信息数据库

汽车配置信息数据是连接汽车生产、销售、使用及后市场服务的核心纽带&#xff0c;对不同主体均具有不可替代的价值。对消费者可辅助决策&#xff0c;规避风险&#xff0c;对车企可指导研发&#xff0c;优化生产&#xff0c;对经销商可精准销售&#xff0c;提升转化&#xff0c;…...

文科生被AI大厂疯抢,月薪3万起,这条热搜,你真的看懂了吗?

最近有个话题悄悄冲上热搜&#xff0c;看得不少人心里一热——#AI大厂月薪3万疯抢文科生#。 事情起因是360创始人周鸿祎在一次采访里说了个挺颠覆的观点&#xff1a;“随着AI技术的发展&#xff0c;文科生将比理科生更吃香。”截图来源微博&#xff08;如侵删&#xff09; 他给…...

3步构建缠论分析平台:TradingView可视化工具全攻略

3步构建缠论分析平台&#xff1a;TradingView可视化工具全攻略 【免费下载链接】chanvis 基于TradingView本地SDK的可视化前后端代码&#xff0c;适用于缠论量化研究&#xff0c;和其他的基于几何交易的量化研究。 缠论量化 摩尔缠论 缠论可视化 TradingView TV-SDK 项目地址…...

单片机Shell开发避坑指南:从Putty特殊字符处理到内存安全的7个实战经验

单片机Shell开发避坑指南&#xff1a;从Putty特殊字符处理到内存安全的7个实战经验 当你在深夜调试单片机Shell时&#xff0c;突然发现退格键会导致整个系统崩溃&#xff0c;或者用户输入超长字符串后设备莫名其妙重启——这些看似简单的交互问题&#xff0c;往往成为项目交付前…...

双屏生产力拉满!YogaBook 9i 多屏操作玩法与效率指南

YogaBook 9i 凭借独特的双屏设计&#xff0c;打破了传统笔记本的使用边界&#xff0c;成为移动办公、创意创作、高效学习的热门机型。但很多用户拿到手后&#xff0c;只把它当作普通笔记本使用&#xff0c;没能发挥双屏协同的真正优势&#xff0c;多任务处理、分屏操作、跨屏交…...

RTX 4090D深度学习镜像效果展示:PyTorch 2.8实测Wan2.2-T2V高清视频生成

RTX 4090D深度学习镜像效果展示&#xff1a;PyTorch 2.8实测Wan2.2-T2V高清视频生成 1. 开箱即用的专业级深度学习环境 当拿到这台搭载RTX 4090D显卡的工作站时&#xff0c;我首先被它的硬件配置震撼了。24GB显存加上120GB内存的组合&#xff0c;在本地运行大型视频生成模型不…...

实测AWS Bedrock 接入 Claude 4.6 做代码审查:200K 上下文+多智能体协作

最近 GitHub 上的不少热门开源项目都在热议一款新工具&#xff1a;Anthropic 刚刚在 AWS Bedrock 推出的 Claude 4.6 Sonnet&#xff0c;以及随之而来的多智能体代码审查系统&#xff08;Claude Code Review&#xff09;。这套系统不仅卷起了技术圈的讨论热潮&#xff0c;也掀起…...

抖音弹幕协议逆向实战:手把手解析Protobuf数据流(附Python代码)

抖音直播弹幕协议解析实战&#xff1a;从Protobuf到可读数据的完整链路 当直播间里飘过一条"老板大气"的弹幕时&#xff0c;你可能不知道这条简单的文字背后经历了怎样的技术旅程。作为开发者&#xff0c;我们看到的不是屏幕上那些花花绿绿的文字&#xff0c;而是一串…...