在什么情况下临时使用C ++?

时间:2012-09-03 06:44:08

标签: c++

在什么情况下我应该在C ++中使用temporaries? 这个概念的优点是什么?

有人可以用一些例子来解释这个吗?

1 个答案:

答案 0 :(得分:0)

当值不需要超出语句块或函数定义的范围时,应使用临时变量。

有例外:

  1. 该变量也在范围块之外使用,例如 作为for循环中的索引。
  2. 变量的大小足以覆盖本地变量 存储(即堆栈)。
  3. 大型只读数据,例如字符文本。
  4. 需要将变量作为参考返回给客户端。
  5. 一些经验法则或定位变量的指南(范围):

    • 声明变量尽可能接近其用法。
    • 语句块内部和外部引用的变量应该是 从语句块中分解出来。
    • 函数之间共享的变量应使用“file”声明 本地范围“a.k.a.在任何文件之外的文件中。
    • 巨大的变量应该使用动态内存。
    • 大于简单POD的变量应该使用动态内存和 通过智能指针传递。

    HTH。