添加 Effective C++ 27、28

This commit is contained in:
huihut 2018-04-20 22:08:19 +08:00
parent 542fcd7d87
commit 6fb8ed195f

View File

@ -889,6 +889,9 @@ class doSomething(Flyable *obj) // 做些事情
24. 若所有参数包括被this指针所指的那个隐喻参数皆须要类型转换请为此采用 non-member 函数 24. 若所有参数包括被this指针所指的那个隐喻参数皆须要类型转换请为此采用 non-member 函数
25. 考虑写一个不抛异常的 swap 函数 25. 考虑写一个不抛异常的 swap 函数
26. 尽可能延后变量定义式的出现时间(可增加程序清晰度并改善程序效率) 26. 尽可能延后变量定义式的出现时间(可增加程序清晰度并改善程序效率)
27. 尽量少做转型动作(旧式:`(T)expression`、`T(expression)`;新式:`const_cast<T>(expression)`、`dynamic_cast<T>(expression)`、`reinterpret_cast<T>(expression)`、`static_cast<T>(expression)`、;尽量避免转型、注重效率避免 dynamic_casts、尽量设计成无需转型、可把转型封装成函数、宁可用新式转型
28. 避免使用 handles包括 引用、指针、迭代器)指向对象内部(以增加封装性、使 const 成员函数的行为更像 const、降低 “虚吊号码牌”dangling handles如悬空指针等的可能性
### Google C++ Style Guide ### Google C++ Style Guide