mirror of
https://github.com/huihut/interview.git
synced 2024-03-22 13:10:48 +08:00
添加 Effective C++ 27、28
This commit is contained in:
parent
542fcd7d87
commit
6fb8ed195f
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user