1,     __func__ 宏: 仍然用 __FUNCTION__,可用于来初始化成员列表


2,   //cout << __STDC_HOSTED__ << endl;   // 支持
      //cout << __STDC__ << endl;                // 不支持 // 依赖编译器

      //cout << __STDC_VERSION__ << endl;  // 不支持 // 依赖编译器

       //cout << __STDC_ISO_10646__ << endl; // 不支持 // 依赖编译器


3,_Pragma : 仍然用 #pragma,也不能用在宏中,大概这个特性没什么实质性的进步?


4,__VA_ARGS__: 支持


5, long long关键字: 支持 -- limits.h的宏 %lld - 有符号,%llu - 无符号


6, assert - —_ASSERT

     NDEBUG   - _DEBUG

    static_assert  - VS2013 直接支持,gcc4.9.2 ??难道我装的有问题?

   g++编译的姿势不对: g++ -std=c++11 -o XX.cpp


7,noexcept -- vs的 _NOEXCEPT-(throw()) 不确定是否与noexcept的语义一致,但编译会有警告信息。


8,****新的成员变量初始化方式。--支持


9, 新的sizeof,---不支持对成员通过::求值。


10,新的friend -- 支持


11, ***final 与 override -- 这个不错。


12,***函数模版的默认模板参数 -- 不错。


13,显式实例化模板与外部模板的声明-- 效率优化问题,不这么做不影响编译。


14,局部和匿名类型作模板实参 -- 可。


-----------------------

15,继承构造函数 -- using Base::Base;


16, 委派构造函数 -- ctor():ctorDest(){}。缺点:委托环。用途:构造模板函数


-----------------------

17, ***** 右值引用-移动语义-完美转发: &&  move   forward<type T>


18, explicit : 显式类型转换


19, ***** 初始化列表:initializer_list<type T>;


20,  防止类型收窄: 使用列表来初始化如:int i{2.0f};  C++中唯一一种防止类型收窄的方法。


21, ***** POD类型(plain old data): 概念包括两方面的要求,一是平凡(plain)

           1,平凡默认构造函数和析构。平凡就是什么例外的事都不干的构造。默认就是编译器生成的。

           2,平凡的拷贝构造和移动构造。相当于 默认的/

           3,平凡的拷贝赋值运算符和移动赋值运算符。

           4,不包含虚函数和虚基类

     std::is_trivial<type T>::value 可用来判断类型是否符合以上4点。

     POD的另一个要求,标准布局

            1,所有非静态成员有相同的访问权限,如都为public或 private

            2,在继承时,要求A:派生类中有静态成员,且只有一个仅包含静态成员的基类。B:基类有

                非静态成员,而派生类没有非静态成员。

            3,类中第一个非静态成员的类型与其基类不同。struct A:B { B  b; }; 这样就不行了。而这样

                struct A:B { int a; B  b; };  就可以。原因是C++标准中允许派生类的第一个成员与(没有成员)的

                基类共享地址。如果类的第一个成员是基类,编译器会为基类分配一个字节空间(C++标准要                    求类型相同的对象必须地址不同,基类地址与成员对象地址必须不同)导致布局不同了。

             4,没有虚函数和虚基类

             5,所有非静态数据成员符合标准布局,那么其基类也符合标准布局。(递归定义)

        判断标准布局 std::is_standard_layout<Type T>::value

         符合平凡和标准布局两方面条件的被认为是POD类型:判断可用 std::is_pod<Type T>::value来判断。

22, 非受限联合体。取消对联合体对于数据成员的限制。任何非引用成员都可以。


23, 用户自定义字面量。 VS2013 没有编译成功?


24,内联名字空间。 有点乱,没有认真看,感觉不是很有意义。


25, SFINAE。


=================================

26, 右尖扩号的变化,这个简直不能叫做改进。


27,***** auto - 类型推导。auto注意精度问题。 4种情况非法,1,作为函数参数,2,非静态成员变量,3,auto数组,4,模板参数。


28,*****decltype-类型推导,与auto有类似,注意其区别。

             类型推导的规则:a,e是没带扩号的表达式。不能使重载的函数。b,e是将亡值,decltype(e) =T&&。c,e是左值,decltype(e)=T&。d,decltype(e)=T。


29,追踪返回类型。两种写法都可以。


30,for循环。for(Typename t:array)


31,强类型枚举。enum class Type : type 。强作用域,转换限制,类型指定。


32,堆内存管理:unique_ptr<> share_ptr<> weak_ptr<>,  垃圾回收????


33,*****常量表达式constexpr:常量表达式函数-单一return返回值,返回语句为常量表达式等等。自定义类型用作常量表达式,定义常量表达式构造函数。约束颇多。constexpr元编程。 (VS2013 并不支持)


34,****变长模板。


35,****原子操作与原子变量。


36, *****nullptr. 指针空值,关键字。指针空值类型:nullptr_t


37,