C++11:06for关键字
2021-02-07 14:15
标签:无法 数据 初始 std ble 保存 类型 ror 关键字 C++11:06for关键字 标签:无法 数据 初始 std ble 保存 类型 ror 关键字 原文地址:https://www.cnblogs.com/fewolflion/p/12775980.html列表初始化(list initalization)
0、课前秀
int i_arr[3]={1,2,3};//普通数组 initializer list
struct A
{
int x;
struct B
{
int i;
int j;
}b;
}a={1,{2,3}};//POD类型
//拷贝初始化(copy-initialization)
int i=0;
class Foo
{
public:
Foo(int){}
}foo=123; //需要拷贝构造函数
//直接初始化(direct-initialization)
int j(10);
Foo bar(123);
1、统一的初始化
int a5 = {3}; int a6 {3};
//C++98/03不具备,C++11可以直接在变量名后面跟上初始化列表Foo a3 = {123};
//虽然用了=,但仍然是列表初始化{}
前面的等于号是否书写对初始化行为没有影响。2、列表初始化的使用细节
struct Foo
{
int x;
double y;
int z;
Foo(int,int){}
};
Foo foo {1,2.5,1};//error 【无法将Foo看做一个聚合类型】
3.1、任意长度的 初始化列表
3.2、std::initializer_list的一些细节
4、防止类型收窄
struct Foo
{
Foo(int i) {std::cout
ReadMe
上一篇:Java专题十一(2):NIO
下一篇:Java常见编程错误:锁