目录
前言:
C++通常被分为两个大标准,即C++98和C++11。对于C++98而言,C++11在其基础上做了大量的更改与优化,改动之大以至于C++11更像一门“新语言”,不过C++11确实在使用层面得到了很大的提升,语法更加的稳定安全且功能强大,大幅度的提供了程序员的开发效率。
1、{}进行初始化
在C++98中,大括号一般是用于数组或者结构体的初始化(struct默认成员为公有域,因此可以在外面直接给x和y赋值),示例如下:
#define _CRT_SECURE_NO_WARNINGS 1
struct A
{
int x;
int y;
};
int main()
{
int arr[] = { 1, 2, 3, 4, 5 };
A p = { 1, 2 };
return 0;
}
当到了C++11,大括号的初始化范围不再局限于数组和结构体,还能够初始化内置类型,并且用大括号进行初始化还可以省略赋值符号‘=’。
#define _CRT_SECURE_NO_WARNINGS 1
struct A
{
int x;
int y;
};
int main()
{
int a{ 2 };//等价于int a = 2/int a = {2}
int array1[]{ 1, 2, 3, 4, 5 };
A p{ 1, 2 };
int* pa = new

本文介绍了C++11相较于C++98的显著改进,包括大括号的广泛初始化、auto类型的自动推导、decltype获取表达式类型、nullptr代替NULL、范围for循环以及final和override用于多态的虚函数控制。
最低0.47元/天 解锁文章
2356

被折叠的 条评论
为什么被折叠?



