在什么情况下应该使用C++临时代码
Under what circumstances should temporaries be used C++?
在什么情况下我应该在C++中使用临时库?这个概念的优点是什么?
有人能举例说明吗?
当一个值不需要持续存在于语句块或函数定义的范围之外时,应该使用临时变量。
也有例外:
- 变量也在statment块的范围之外使用,例如作为CCD_ 1循环中的索引
- 变量的大小足以超出本地存储(即堆栈)
- 大型只读数据,如字符文本
- 该变量需要作为引用返回给客户端
定位变量(范围)的一些经验法则或指南:
- 声明尽可能接近其用法的变量
- 语句块内外引用的变量应从语句块中删除
- 函数之间共享的变量应使用"file"声明localscope",也就是任何文件之外的文件内
- 巨大的变量应该使用动态内存
- 大于简单POD的变量应使用动态内存通过智能指针传递
HTH。