, POD
库编程: 内联命名空间, 继承构造, 右值引用
C++11标准的设计准则:
在稳定性和兼容性之间抉择: auto, using, nullptr
用库而非扩展语言语法来实现特性: std::..., 所以当发生冲突的时候应该显式声明构造函数来因此冲突的函数
当派生类是虚继承了基类时, 不能使用继承构造函数
一旦使用了继承构造函数(用using Base::Base;)暴露出来, 自身的默认构造函数就和之前的隐藏规则一样...POD需要满足以下条件:
平凡(Plain)限制:
与memset兼容的默认的构造和析构函数
与memcpy兼容的拷贝, 移动, 赋值, 移动赋值函数
不包含虚函数和虚基类
标准布局(Old)限制:
所有非静态成员有相同的访问权限...4 新手易学, 老兵易用
auto
auto是静态类型推导, 必须被初始化
auto本质上是一个类型占位符, 在编译的时候推导出类型然后以类似字面替换的方式进行使用
auto和cv限制符(cv-qualifier...而且由于其本质是常量数值的原因, enum成员总是可以被隐式转换为整型, 这很容易导致比较两个不同的枚举名称时出现错误的结果
C++11之前会通过类结构将枚举封装, 并建立新的转换和比较函数覆盖原先的操作