摘要: 所谓的临时对象,就是一种无名对象(unnamed objects)。它的出现如果不在程序员的预期之下,往往造成效率上的负担。但有时刻意制造一些临时对象,却又是使程序干净清爽的技巧。刻意制造临时对象的方法是,在型别名称之后直接加一对小括号,并可指定初值,例如shape(3,5)或int(8),其意义相当于调用相应的constructor且不指定对象名称。STL最常将此技巧应用于仿函数(functor)与算法的搭配上,例如:#本例测试仿函数用于for_each()的情形#include #include #include using namespace std;template class pri 阅读全文
posted @ 2014-02-23 22:26 艾丽娅的猫 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 以下内容来自搜狗实验室技术交流文档,搜狐公司研发中心版权所有,仅供技术交流摘要---------乱序优化是现代编译器非常重要的特性,本文介绍了什么是乱序优化,以及由此引发的一个bug,希望引起各位开发者的注意。乱序优化---------乱序优化和cpu的乱序执行很类似。现代cpu都采用流水线结构,流水线的各级可以同时执行不同的指令,也只有用多条指令将流水线填满以后,cpu的能力才能得到充分发挥。乱序执行(out-of-order execution)是指cpu允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。这样将根据各个电路单元的状态和各指令能否提前执行的具体情况分析后,将 阅读全文
posted @ 2014-02-23 13:46 艾丽娅的猫 阅读(1670) 评论(0) 推荐(0) 编辑