constexpr 泛化的常数表达式
extern template class 外部模板
std::vector v{ "xyzzy", "plugh", "abracadabra" } 统一的初始化
decltype(some_int) other;类型推导
auto my_onheap_lambda_func = new auto([=](int x) { /*...*/ });Lamda函数与表达式
void(*func_ptr)(int) = a_lambda_func;
template
auto adding_func(const Lhs &lhs, const Rhs &rhs) -> decltype(lhs+rhs) {return lhs + rhs;}
auto func_name(int x, int y) -> int;
SomeType() : SomeType(42) {}对象构造的改进
virtual void some_func(int) override; // 病态的,不会重写基类的方法显示重写 (覆盖,override) 和final
struct Base1 final { };
struct Derived1 : Base1 { }; // 病态的, 因为类Base1被标记为final了
virtual void f() final;
enum class Enumeration强类型枚举
template
using TypedefName = SomeType
typedef void (*FunctionType)(double); // 老式语法
using FunctionType = void (*)(double); // 新式语法
U() {new(&p) Point();} // 由于Point的原因, 必须定义构造函数. 联合union 的构造 无限制的unions
template
std::forward
u8"This is a Unicode Character: \u2018."//UTF-8 char新的字符串字面值
u"This is a bigger Unicode Character: \u2018."//UTF-16 char16_t
U"This is a Unicode Character: \U00002018."//UTF-32 char32_t
R"(The String Data \ Stuff " )"
线程局部存储 新的线程局部存储的生存期(原有的静态,动态,自动变量除外)由thread_local关键字指
NonCopyable() = default;明确默认和明确删除的特殊成员函数
NonCopyable(const NonCopyable&) = delete;
void f(int) = delete; // 不能调用这个函数
template
static_assert(sizeof(int) <= sizeof(T), "T is not big enough!");//静态断言
sizeof(SomeType::member);//允许sizeof运算符作用在类型的数据成员
alignas(float) unsigned char c[sizeof(float)]//控制和查询对象的对齐方式
set_new_handler允许实现垃圾回收
TR2 filesystem
std:thread::native_handle()线程支持
recursive_mutex condition_variable_any futures promises packaged_task async
typedef std::tuple
std::get<3>(proof) = " Beautiful!"; // 修改元组的第四个元素
unique_ptr 可以存放在 C++11 提出的那些需要移动语义的容器之中//通用智能指针
std::uniform_int_distribution
std::mt19937 engine; // 建立随机数生成引擎
auto generator = std::bind(distribution, engine); // 利用 bind 随机数生成引擎和分布組合成一个随机数生成器
int random = generator(); // 产生随机数
封装引用std::ref
std::is_integral
typename std::result_of