首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 编程交流与学习--More Effective C++的学习-Item M19:理解临时对象的来源
【标  题】:编程交流与学习--More Effective C++的学习-Item M19:理解临时对象的来源
【关键字】:--More,Effective,C++,-Item,M19
【来  源】:http://blog.csdn.net/swordll80/archive/2006/10/22/1345751.aspx

编程交流与学习--More Effective C++的学习-Item M19:理解临时对象的来源

当程序员之间进行交谈时,他们经常把仅仅需要一小段时间的变量称为临时变量。不过就C++而言,一个函数的局部对象不是临时变量。    C++中真正的临时对象是看不见的,它们不出现在你的源代码中。建立一个没有命名的非堆(non-heap)对象会产生临时对象。这种未命名的对象通常在两种条件下产生:为了使函数成功调用而进行隐式类型转换和函数返回对象时。理解如何和为什么建立这些临时对象是很重要的,因为构造和释放它们的开销对于程序的性能来说有着不可忽视的影响。

    临时对象是有开销的,所以你应该尽可能地去除它们,然而更重要的是训练自己寻找可能建立临时对象的地方。在任何时候只要见到常量引用(reference-to-const)参数,就存在建立临时对象而绑定在参数上的可能性。在任何时候只要见到函数返回对象,就会有一个临时对象被建立(以后被释放)。学会寻找这些对象构造,你就能显著地增强透过编译器表面动作而看到其背后开销的能力。

 
编程交流与学习--More Effective C++的学习-Item M20:协助完成返回值优化:【上一篇】
编程交流与学习--More Effective C++的学习-Item M18:分期摊还期望的计算:【下一篇】
【相关文章】
  • 编程交流与学习--More Effective C++的学习-Item M20:协助完成返回值优化
  • 编程交流与学习--More Effective C++的学习-Item M21:通过重载避免隐式类型转换
  • 编程交流与学习--More Effective C++的学习-Item M22:考虑用运算符的赋值形式(op=)取代其单独形式(op)
  • 转载:C/C++深层探索(四十三)
  • Win32环境下两种用于C++的线程同步类(上)
  • Win32环境下两种用于C++的线程同步类(下)
  • 转载:C/C++深层探索(四十二)
  • 如何使用Lua扩展C/C++应用(ZT)
  • DooDle(涂鸦)画图程序(C++课题设计)
  • VC++中可能遇到的问题
  • 【随机文章】
  • 智能天线在CDMA网络优化中的作用
  • vi简明教程
  • 需求分析与系统设计
  • 17.6.1 Static and instance properties
  • LAMP系统的优化实例
  • 建站心得:网站规划书的写作规范
  • 我和ajax的故事
  • 加密技术的应用
  • 关于sizeof的问题
  • 向数据库中添加表(2)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.