Item26 尽可能延后变量定义式的出现时间

只要定义了一个变量而其类型带有一个构造函数或析构函数,那么程序的控制流到达这个变量定义式时,便得承受构造成本;当这个变量离开作用域时,便承受析构成本。即使变量最终还是未被使用,仍需要耗费这些成本。

注:

  • 延后定义,防止变量未被使用;
  • 声明变量,赋初始,防止调用默认构造函数再赋值的开销;
  • 涉及到循环操作,有2种写法的成本:
  1. 1个构造函数 + 1个析构函数 + n个赋值操作
  2. n个构造函数 + n个析构函数

总之,尽可能延后变量定义式的出现,增加程序的清晰度并改善程序效率。

猜你喜欢

转载自blog.csdn.net/u013015629/article/details/107447711