0

在什么情况下我应该在 C++ 中使用临时对象?这个概念有什么好处?

任何人都可以用一些例子来解释这一点吗?

4

1 回答 1

0

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

有例外:

  1. 该变量也在语句块的范围之外使用,例如for循环中的索引。
  2. 该变量的大小足以超出本地存储(即堆栈)。
  3. 大型只读数据,例如字符文本。
  4. 该变量需要作为参考返回给客户端。

定位变量(范围)的一些经验法则或指南:

  • 声明变量尽可能接近它们的用法。
  • 在语句块内部和外部引用的变量都应该被排除在语句块之外。
  • 函数之间共享的变量应该在任何文件之外的文件中声明为“文件本地范围”。
  • 巨大的变量应该使用动态内存。
  • 比简单 POD 更大的变量应该使用动态内存并通过智能指针传递。

HTH。

于 2012-10-09T18:45:48.620 回答