游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2979|回复: 8

int a(2);和int a = 2; 哪个效率更高

[复制链接]

29

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
发表于 2010-7-17 16:37:00 | 显示全部楼层 |阅读模式
如题

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2010-7-17 22:50:00 | 显示全部楼层

Re:int a(2);和int a = 2; 哪个效率更高

编译出来的汇编是一样的。

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2010-7-17 23:53:00 | 显示全部楼层

Re:int a(2);和int a = 2; 哪个效率更高

int a(2);//!!!!这是什么????

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2010-7-18 00:32:00 | 显示全部楼层

Re: Re:int a(2);和int a = 2; 哪个效率更高

snhun: Re:int a(2);和int a = 2; 哪个效率更高

int a(2);//!!!!这是什么????


调用构造函数啊

29

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
 楼主| 发表于 2010-7-18 13:53:00 | 显示全部楼层

Re:int a(2);和int a = 2; 哪个效率更高

一个是构造函数传参,一个是调用默认拷贝构造,哪个效率高点

227

主题

1794

帖子

1866

积分

金牌会员

Rank: 6Rank: 6

积分
1866
发表于 2010-7-18 14:57:00 | 显示全部楼层

Re:int a(2);和int a = 2; 哪个效率更高

如果是复杂点的东西,那么肯定是前者较高
不过int的话大多数编译器都是一样的

3

主题

263

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2010-7-18 20:08:00 | 显示全部楼层

Re: int a(2);和int a = 2; 哪个效率更高

FreeStyle_Chen: int a(2);和int a = 2; 哪个效率更高

如题


they are the same thing in C++.
the compiler generate the construction code for the object whatever the type/class is.
that is both will call the ctor int(int),in example above.

for non-integral types/classes:
TYPE t = 2; TYPE t(2);
the TYPE::TYPE(int) ctor is called,for both of them.

4

主题

137

帖子

311

积分

中级会员

Rank: 3Rank: 3

积分
311
发表于 2010-7-20 11:25:00 | 显示全部楼层

Re: Re:int a(2);和int a = 2; 哪个效率更高

FreeStyle_Chen: Re:int a(2);和int a = 2; 哪个效率更高

一个是构造函数传参,一个是调用默认拷贝构造,哪个效率高点

同意 primer上面也是这么说的.

29

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
 楼主| 发表于 2010-7-20 20:54:00 | 显示全部楼层

Re:int a(2);和int a = 2; 哪个效率更高

哦。。。。谢谢大家
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-8 10:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表