条款14:如果函数不抛出异常请使用noexcept
加 noexcept 可提升性能并避免意外终止,明确承诺无异常。
加 noexcept 可提升性能并避免意外终止,明确承诺无异常。
读操作不应修改容器,使用 const_iterator 更安全。
防止拼写错误或签名不一致,应加 override 显示重写。
使用 = delete 明确禁止拷贝等操作,替代旧做法。
enum class 更安全,避免作用域污染和隐式转换。
using 更清晰易读,适配模板更好,应取代旧的 typedef。
nullptr 更安全,避免重载解析歧义,推荐取代 0/NULL。
花括号初始化更通用,可防止窄化转换,避免最令人头疼的解析;但重载时易优先匹配 std::initializer_list 构造函数,需谨慎使用。
使用 emplace 代替 insert 可避免临时对象构造,直接在容器内构造元素,提升性能,特别是构造成本较高时。
对移动代价低、总是被拷贝的参数,按值传递更简洁高效,能统一处理左值与右值,避免重复代码和不必要的复制。