, POD
库编程: 内联命名空间, 继承构造, 右值引用
C++11标准的设计准则:
在稳定性和兼容性之间抉择: auto, using, nullptr
用库而非扩展语言语法来实现特性: std::..., 如果定义了常量左值引用构造也能正确执行, 只不过会变为拷贝形式
常量右值引用存在但是没有实际用途
std::move()能强制使一个左值变为右值, 但是不会改变其生命周期
右值引用本身是个左值,...因此需要配合std::forward()来完美转发(或者直接用std::move())
默认的移动构造函数和拷贝构造函数是一样的, 只是执行按位拷贝操作....POD需要满足以下条件:
平凡(Plain)限制:
与memset兼容的默认的构造和析构函数
与memcpy兼容的拷贝, 移动, 赋值, 移动赋值函数
不包含虚函数和虚基类
标准布局(Old)限制:
所有非静态成员有相同的访问权限...如果目标是被重载的函数则编译错误
否则, 对于带括号的表达式, 如果目标是将亡值, 那么返回右值引用
对于带括号的表达式, 如果目标是左值, 返回左值引用
否则返回目标本身类型
推导四规则中最麻烦的是规则