Unique 指针
  Unique 指针是 C++11 版本的智能指针类。
  一旦你用 unique_ptr 关键字定义了一个对象,那么下列事件只要发生一个,对象会被销毁并释放内存:
  unique_ptr 管理的对象被销毁。
  unique_ptr 管理的对象通过赋值操作符指向另一个指针,或调用了reset()方法。
  对于不想了解太多细节的用户来说,这意味着如果你使用了 unique 指针的语义,那么在跳出作用域之前,你不用手动回收对象的内存了。
  以前,我们需要这么写代码:
  YourObject * obj = new YourObject();
  然后在程序的后你一定要记得释放内存:
  delete(obj);
  否则你可造成内存泄露了。而现在,
  std::unique_ptr<YourObject> obj(new YourObject());
  当 obj 跳出作用域范围之外的时候,内存将会被自动回收。
  static_assert
  static_assert 简单说是一个在编译期执行的断言。例如,你可以这么做:
  static_assert(sizeof(unsigned int) * CHAR_BIT == 32);
  假设由于系统的原因造成了上述的逻辑判断的失败,那么 static_assert 会断言失败。
  它的另一种用途,是和 C++ 特征类型搭配使用。比如:
  static_assert(std::is_pod<yourstruct>::value, "Not a pod struct!");
  POD 是指“简单数据”(Plain Old Data)结构,也是说,它是一个的类(你可以用struct关键字定义,也可以用class关键字定义),但没有构造函数,析构函数和虚成员函数。所以,如果一个愚蠢的菜鸟程序员企图给这种类型增加构造函数的话,static_assert 会在编译的时候阻止这种行为,并报错。这对代码维护来说可是非常有用的。
  当然 C++ 还有很多有用的特性,我希望在以后的文章中能给大家介绍更多。谢谢大家的关注!