C++11老关键字的新含义(auto, using,extern)

来源:岁月联盟 编辑:exp 时间:2012-10-27

C++11对关键字进行了修订,加入了nullptr、constexpr、decltype、default、static_assert等,同时原有的关键字(auto,using,extern)含义和用途进行了修订。在这里主要了解一下对auto、using、extern这三个关键字的修订。

auto
自动化变量
auto a = 12;

auto b = 12.0f;

auto c = true;

auto d = [] (int x)->int{ return 12;};

auto e = std::bind(&func, _1);

延迟绑定
template<typename T, typename L>

auto fun(T x, L y)->decltype(x + y){return x;}

using
定义别名
template<typename T>

using Tlist = std::list<T>;

using df = void(*)();(等价于typedef void(*df)())

extern
外部模板
extern template<typename T>void(T t){}