#include <initializer_list>
template <class T> class initializer_list;
initializer_list对象中的元素永远是常量值const T,不能initializer_list对象中元素的值修改
、可以使用初始化列表语法, 将stl容器初始化一系列值,容器类将initializer_list<T> 作为构造函数。
initializer_list类型元素必须相同,编译器将进行必要转换。
std::vector<double> Array{1.12, 4.35, 5.756, , };
std::vector<double> Array{1.12, 4.35, 5.756, 10.0, 20.0};
、c++11新增通用的初始化语法,可以使用{}而不是()来调用类构造函数。
int units_sold=;
int units_sold();
int units_sold={};
int units_sold{};
shared_ptr<double> pd {new double}
、initializer_list类型来实现构造函数,在新建对象时,就可以使用列表初始化的方式了。
class FooVector
{
std::vector<int> content_; public:
FooVector(std::initializer_list<int> list)
{
for (auto it = list.begin(); it != list.end(); ++it)
{
content_.push_back(*it);
}
}
}; class FooMap
{
std::map<int, int> content_;
using pair_t = std::map<int, int>::value_type; public:
FooMap(std::initializer_list<pair_t> list)
{
for (auto it = list.begin(); it != list.end(); ++it)
{
content_.insert(*it);
}
}
}; int main(void)
{
FooVector foo1 = { , , , , };
FooMap foo2 = { { , }, { , }, { , } };
return ;
}

最新文章

  1. jquery移除属性值
  2. Linux安装JDK1.7
  3. Cocos2d-x 3.X 事件分发机制
  4. Mysql修改字段长度
  5. phonegap 基础原理
  6. 基础学习day12--多线程一线程之间的通信和常用方法
  7. InitializeComponent System.StackOverflowException
  8. A Tour of Go Advanced Exercise: Complex cube roots
  9. android中设置快捷键方法setShortcut参数的说明
  10. TCP在三次握手协议和四波(图)
  11. url 地址处理(截取,参数等)
  12. Python——cmd调用(os.system阻塞处理)
  13. C#软件监控外部程序运行状态
  14. iview table 实现在数据中自定义标识
  15. Constructor &gt;&gt; @Autowired &gt;&gt; @PostConstruct
  16. OC 与 js 界面JSBridge交互
  17. python的运行机制和版本区别
  18. 深圳MPD大会,五大专题一会尽享
  19. struts2从浅至深(三)拦截器
  20. ES6-let、const和块级作用域

热门文章

  1. mysql命令行乱码解决办法
  2. 30 道 Vue 面试题
  3. [Advanced Python] 12 - Interview Quiz
  4. Java匹马行天下之C国程序员的秃头原因
  5. Java 基础篇之编程基础
  6. webdriver断言
  7. 设计模式-Builder和Factory模式区别
  8. Spring 梳理-处理Multipart 请求
  9. redis分布式锁-基本概念与实现方式对比
  10. Python爬虫(三):BeautifulSoup库