C++ vector 列表初始化

news/2024/9/19 20:46:46/文章来源:https://www.cnblogs.com/huvjie/p/18418986
vector<int> vl(10);      //v1有10 个元素,每个的值都是0
vector<int> v2{10};      //v2有1个元素,该元素的值是 10
vector<int> v3(10,1);   //v3有10个元素,每个的值都是1
vector<int> v4{10,1};   //v4有2个元素,值分别是10和1

如果初始化时使用了花括号的形式但是提供的值又不能用来列表初始化,就要考虑用这样的值来构造 vector 对象了。例如,要想列表初始化一个含有 string 对象的 vector 对象,应该提供能赋给 string 对象的初值。此时不难区分到底是要列表初始化 vector 对象的元素还是用给定的容量值来构造 vector 对象:

vector<string> v5{"hi"};     //列表初始化:v5 有一个元素
vector<string> v6("hi");     //错误:不能使用字符串字面值构建 vector 对象
vector<string> v7{10};       //v7有 10 个默认初始化的元素
vector<string> v8{10,"hi"}; //v8有10个值为"hi"的元素

尽管在上面的例子中除了第二条语句之外都用了花括号,但其实只有 v5 是列表初始化。要想列表初始化 vector 对象,花括号里的值必须与元素类型相同。显然不能用 int 初始化 string 对象,所以 v7 和 v8 提供的值不能作为元素的初始值。确认无法执行列表初始化后,编译器会尝试用默认值初始化 vector 对象。




《C++ Primer》 P90

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/799441.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos7下安装Python3.7

centos7默认安装的是python2.7,然而python2基本上要淘汰了,所以有必要安装最新的python3 python,g++这些工具一般安装在/usr/bin目录里 通过指令ll python*可以看到python指向的是python2.7我们要安装python3,使python指向python3 下面开始具体步骤(参考其他大佬的方法,也…

wpf简单自定义控件

用户控件(User Control)和自定义控件(Custom Control)的区别: UserControl: 将多个WPF控件(例如:TextBox,TextBlock,Button)进行组合成一个可复用的控件组; 由XAML和Code Behind代码组成; 不支持样式/模板重写; CustomControl 自定义控件,扩展自一个已经存在的控件,并…

应用AI技术的销售进化论

该文章聚焦AI技术在销售行业中的实际应用,解读销售人员如何利用先进技术及工具突破传统限制,增强业务能力帮助销售人员保持竞争优势,提升工作效率与业绩。 1、AI如何重塑销售规则 1.1 AI在销售领域的应用:不只是数字游戏 在销售领域,AI技术的引入正在重塑传统的销售模式,…

yum报错

参考这篇文章:https://www.cnblogs.com/kohler21/p/18331060Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was 14: curl#6 - "Could not re…

STM32H723+DMA+ADC多通道 问题记录

出现的问题1: ADC当开启扫描模式、DMA开始连续模式的时候,依然只能读出第一个通道的ADC的值,后面通道的AD值不更新。 尝试过将buf 固定在RAM_D3中也没有用。 实际最后问题在于,用STM32CubeMX配置工具生成代码的时候,ADC初始化的函数放在了DMA初始化的前面导致的问题。 出现…

改变您的HTTP服务器的缺省banner

原文链接:https://www.cnblogs.com/zmbhfly/p/10510594.html改变您的HTTP服务器的缺省banner 针对 IIS Asp.net,改变您的HTTP服务器的缺省banner引自:https://www.cnblogs.com/felixnet/p/6344613.html测试可以用,但仅仅是修改的应用程序,http://localhost不起作用 https:…

Paper Reading: Deep forest auto-Encoder for resource-Centric attributes graph embedding

本文设计了一种基于深度森林的embedding 学习方法 GraphDF,该方法可以实现以资源为中心的加权属性图的属性和拓扑信息的嵌入。提出的图预处理器包括基于自注意机制的潜在隐含特征挖掘、基于相似性和模块化相关转换对潜在隐含关系特征的深度一般信息挖掘。使编码器所提取的原始…

Hadoop(十五)项目考核 WordCount案例

一、需求分析需求:在给定的文本文件中统计输出每一个单词出现的总次数 SEVENTEEN.txt文本内容如下:say the name seventeen hello we are seventeen nice to meet you you very nice按照MapReduce编程规范,分别编写Mapper,Reducer,Driver1、Mapper (1)将MapTask传过来的…

和之大题解

1111... = 2^n-1长度为n的都是1的二进制数 = 2的n次方-1思路:对于每个数只有选或不选(1或0)的二进制,剩余见代码点击查看代码 #include<bits/stdc++.h> using namespace std; long long f[20]; int main(){freopen("202409C.in","r",stdin);freo…

2024-03-01 Windows MySQL5.7.27绿色版安装

背景 MySQL是常用数据库,其中版本已经有很多了,安装方式也有很多,联网装、安装包等。不仅安装麻烦,卸载也很麻烦。因此笔者一般都是使用绿色版安装,安装过程自己很清晰,每一步都知道自己做了什么,卸载时也很容易,自己安装的时候做了什么,卸载的时候删除什么就行了。 版…

Z-BlogPHP 模板文件与模板标签

在 Z-BlogPHP 中,模板文件和模板标签是非常重要的组成部分,用于生成前端页面。下面详细介绍 Z-BlogPHP 的模板文件结构和常用的模板标签。 模板文件结构 Z-BlogPHP 的模板文件通常位于 /zb_users/theme/你的主题名字/template/ 目录下。常见的模板文件包括:index.php:首页模…

Z-Blog的安装与升级注意事项

升级说明自动升级从下载页面下载最新版本的 Z-Blog 自动安装升级包。 解压缩安装包,并将包中文件上传至服务器。手动升级备份你的旧版 Z-Blog 程序到本地。 从下载页面下载最新版本的 Z-Blog 手动安装包。 解压缩安装包。 删除新版程序的 DATA 目录中的 zblog.mdb 文件,将旧数…