From 6fb8ed195f3c324fbeab554a9114681f4351e39b Mon Sep 17 00:00:00 2001 From: huihut Date: Fri, 20 Apr 2018 22:08:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20Effective=20C++=2027?= =?UTF-8?q?=E3=80=8128?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index be2124f..57fe5ee 100644 --- a/README.md +++ b/README.md @@ -889,6 +889,9 @@ class doSomething(Flyable *obj) // 做些事情 24. 若所有参数(包括被this指针所指的那个隐喻参数)皆须要类型转换,请为此采用 non-member 函数 25. 考虑写一个不抛异常的 swap 函数 26. 尽可能延后变量定义式的出现时间(可增加程序清晰度并改善程序效率) +27. 尽量少做转型动作(旧式:`(T)expression`、`T(expression)`;新式:`const_cast(expression)`、`dynamic_cast(expression)`、`reinterpret_cast(expression)`、`static_cast(expression)`、;尽量避免转型、注重效率避免 dynamic_casts、尽量设计成无需转型、可把转型封装成函数、宁可用新式转型) +28. 避免使用 handles(包括 引用、指针、迭代器)指向对象内部(以增加封装性、使 const 成员函数的行为更像 const、降低 “虚吊号码牌”(dangling handles,如悬空指针等)的可能性) + ### Google C++ Style Guide