C++11新特性简略速览

1.引入nullptr

改进NULL,隐式推导返回类型(专门用来区分空指针和0)

2.自动类型推导auto和decltype

auto x = 1;
auto y = 2;
decltype(x + y) z;

3.基于范围的for循环

vector<int>ar({1,2,3,4,5,6});
for(auto i : ar) {
	cout<<i;
}
或
for(auto &i : ar) {
	i = 10;
	cout<<i;
}

4.智能指针

shared_ptr<int>p1 = make_shared<int>();

防止内存泄漏

5.类初始化列表

struct A {
    int a;
    float b;
};
struct B {

    B(int _a, float _b): a(_a), b(_b) {}
private:
    int a;
    float b;
};

A a {1, 1.1};    // 统一的初始化语法
B b {2, 2.2};

6.委托构造函数

class Base {
public:
    int value1;
    int value2;
    Base() {
        value1 = 1;
    }
    Base(int value) : Base() {  // 委托 Base() 构造函数
        value2 = 2;
    }
};

7.lambda表达式

[ caputrue ] ( params ) opt -> ret { body; };

8.右值引用和move语义

简单记:能取地址的叫做左值,不能则叫做右值。

9.语言级线程支持

std::thread
std::mutex/std::unique_lock
std::future/std::packaged_task
std::condition_variable

代码编译需要使用 -pthread 选项

10.正则表达式

11.新增容器array

12.新增容器forward_list

参考:
C++特性快速一览

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值