Open bosthhe1 opened 1 year ago
struct point
{
int _a;
int _b;
};
int main()
{
point a1 = { 1, 2 };//这个是c语言自然支持的语法
point a2{ 1, 2 };//这里是c++11支持的,可以省略等号
int b1[] = { 0, 1, 2, 3, 4 };//与上同理
int b2[]{ 0, 1, 2, 3, 4 };
}
对于"{ }",以vector为例子,实际上是去调用了vector(initializer_list
增加decltype关键字,这个关键字和auto差不多,会自动推导类型,但是decltype关键字可以直接当类型使用 注意decltype关键字的使用方式decltype(a) b = a; 当我们不知道a的类型的时候,可以vector<decltype(a)>也可以推出来,这里就把delctype(a)当作一个类型,但是auto不行
在c++98中,只有单参数的构造函数中,支持隐式类型转换,多参数不支持
c++11支持多参数的隐式类型转换构造