C++11的新特性

1.统一的初始化方法
int arr[3]{1, 2, 3};
vector<int> iv{1 ,2, 3};
map<int, string> mp{{1, "a"}, {3, "b"}};
int* p = new int[6]{1, 2, 3};

2.成员变量有初始值
class Test{
public:
	int m_ = 100;
};
3.auto关键字

用于定义变量,编译器可以自动判断变量的类型

4.decltype关键字

求表达式的类型

5.智能指针shared_ptr

头文件
通过shared_ptr的构造函数,可以让shared_ptr对象托管一个new运算符返回的指针

shared_ptr <T>  ptr(new T);

多个shared_ptr对象可以同时托管一个指针,系统会维护一个托管计数。当无shared_ptr托管该指针时,delete该指针
shared_ptr对象不能托管指向动态分配的数组的指针,否则程序运行中会出错。对象行吗???ok
一些方法:

6.空指针nullptr
7.基于范围的for循环
int arr[] = {1 ,2, 3};
for(int& e:arr)
	e *= 10;
for(int e: arr)
	cout << e << endl;
8.右值引用和move语义

右值:一般来说,不能取地址的表达式,就是右值,能取地址的,就是左值
不用深拷贝,提高效率
在这里插入图片描述

1.无序容器(哈希表)
2.正则表达式

包含头文件<regex>

3.Lambda表达式

形式:
[外部变量访问方式说明符](参数表)->返回值类型
{
语句组
}

sort(a, a+4, [](int x, int y)->bool{ return x%10 < y%10; });//方便吧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值