C++11经典语法

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

       

目录

1、{}进行初始化

2、auto

3、decltype 

4、nullptr

5、范围for循环

6、final和override 

结语


前言:

        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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

安权_code

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

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

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

打赏作者

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

抵扣说明:

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

余额充值