编译器优化


#include<iostream>
using namespace std;
class C{
public:
    C(int i ){ cout << "constructor" << endl; }
    C( const C& c ){ cout << "copy" << endl; }
    C& operator = ( const C& c ){ cout << "=" << endl; }
private:
};
C fun(){
    return C(2);
}
int main(){
    C c( fun() );

}
/*
constructor
请按任意键继续. . .
*/
没有调用拷贝构造函数
编译器做了优化,C c( fun() )->C c(C(2))。构造两个同样的构造函数,
其中一个是没用的临时对象,编译器就直接把它转化为C c(2),

posted on 2011-12-12 10:54 メmarsメ 阅读(148) 评论(0)  编辑 收藏 引用 所属分类: 点滴积累


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2011年12月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

常用链接

留言簿

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜