C++11简介

C++1.0也即C++98,是在1998年提出,2003年又提出了C++03,被称为TR1,Technical Report 1,只是一些实验性的东西,在2011年提出的C++11被称为C++2.0,具有里程碑式意义,要详细了解C++11,只看文字叙述帮助很小,需要结合实例才能有更深的理解。

C++ 11 标准是颠覆性的,该标准在 C++ 98 的基础上修正了约 600 个 C++ 语言中存在的缺陷,同时添加了约 140 个新特性,这些更新使得 C++ 语言焕然一新。C++14在C++11的基础上有些许微调,也包含在C++2.0内。

C++2.0新特性包括语言和标准库两个层面,标准库以头文件形式呈现。

  1. C++标准库的头文件不带.h,例如#include<vector>
  2. 新式的C语言标准库中头文件不带.h,例如#include<cstdio>
  3. 旧式C语言标准库中头文件带.h,目前依然可用,例如#include<stdio.h>

下面为C++11中新的标准库

#include <array>
#include <thread>
#include <type_traits>
#include <unordered_set>
#include <forward_list>
#include <tuple>
#include <regex>

using namespace std;

注:TR1中的组件现在已经全部移到std命名空间中

 

第一步首先确认编译器是否支持C++11,使用如下代码:

#include <iostream>
using namespace std;

/* 测试编译器对C++2.0的支持
 * 在C++11中           #define __cplusplus 201103L
 * 在C++98 & C++03中   #define __cplusplus 199711L
 * 本例中会输出 201103
 */

int main(){
    cout<<__cplusplus<<endl;
    return 0;
}

语言层面的C++11有:

1.Variadic Templates

2.move Semantics

3.auto

4.Range-base for loop

5.Initializer list

6.Lambdas

标准库层面的C++11有:

1.type_traits

2.Unordered容器

3.forward_list

4.array

5.tuple

6.Con-currency

7.RegEx

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

潇湘夜雨~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值