C++11 initializer_list(列表初始化容器 {}初始化)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.youkuaiyun.com/qq_40946921/article/details/90648688

不知道大家知不知道Java的可变参数列表(即函数形参使用 类型。。。类型名  这样的写法),这样写的好处就是写函数的时候参数的个数是可以变化的。

当然C语言中也提供了。。。,比如我们熟知的printf,scanf就是使用。。。完成的,但为什么已经有了。。。,还需要 initializer_list呢?

其实printf和scanf有一个共同点大家有没有发现,那就是第一个参数为格式化字符串,而C语言的。。。必须要通过第一个参数来获取后面参数的个数,而scanf()和printf()就是通过字符串中的格式控制符来确定后方参数个数的。

但万一有些人就是不守这个规矩呢?前面第一个参数就说后面有4个参数,但调用的时候后面却只跟2个参数,就跟你去银行取钱,明明账户上只有三块五,你非要取出个几万块?可能吗,难不成你还抢银行,去特殊机构体验个十年八年的,岂不美哉?那么如果是程序,会发生什么问题?肯定得报错啊,不信的话你可以用printf或scanf试试(专治各种不服=.=)

于是,initializer_list也就应运而生了!

nitializer_list是一个模板类,可能你已经用过它了但不知道而已,比如下面的代码就用了:

    #include<iostream>
    #include<vector>
 &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发狂的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值