首页 相关文章 C++箴言:只要有可能就推迟变量定义

C++箴言:只要有可能就推迟变量定义


  在极大程度上,为你的类(包括类模板)和函数(包括函数模板)提供正确的定义是战斗的要害性部分。一旦你得到正确的结果,相应的实现很大程度上就是直截了当的。但是仍然有一些注重事项需要当心。过早地定义变量会对性能产生拖累。过度使用强制转换会导致缓慢的,难以维护的,被微妙的 bug 困扰的代码。返回一个类内部构件的句柄会破坏封装并将空悬句柄留给客户。疏忽了对异常产生的影响的考虑会导致资源的泄漏和数据结构的破坏。过分内联化(inlining)会导致代码膨胀。过度的耦合会导致令人无法接受的漫长的建构时间。 这一切问题都可以避免。
  
  只要有可能就推迟变量定义
  
  只要你定义了一个带有构造函数和析构函数的类型的变量,当控制流程到达变量定义的时候会使你担负构造成本,而当变量离开作用域的时候会使你担负析构成本。假如有无用变量造成这一成本,你就要尽你所能去避免它。
  
  你可能认为你从来不会定义无用的变量,但是也许你应该再想一想。考虑下面这个函数,只要 passWord 的长度满足要求,它就返回一个 password 的加密版本。假如 password 太短,函数就会抛出一个定义在标准 C++ 库中的 lo...[ 查看全文 ]

2016-02-19 标签:

C++箴言:只要有可能就推迟变量定义的相关文章

手机页面
收藏网站 回到头部