24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1399  |  回复: 7

lixy1217

木虫 (著名写手)

[求助] C++里重载运算符会不会影响整体程序的运行效率

RT,比如重载了很多+或者*的运算,导致每次进行+或者*运算时都要进行一次识别和判定,对程序最终的进程能造成多大影响?

[ 来自科研家族 皇家数理科学协会 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

偶尔敞开心扉,世界将不再孤独
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

【答案】应助回帖


感谢参与,应助指数 +1
lixy1217: 金币+1, 有帮助, 知道了,谢谢~~ 2012-07-09 10:34:06
原则上,当然有影响;
使用时,根本不考虑。
2楼2012-07-09 09:11:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

菩提色

木虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
lixy1217: 金币+1, ★★★很有帮助, 知道了,谢谢~~ 2012-07-09 10:34:17
理论上讲影响是有的,但是如果程序不是很大,而且硬件配置很好的话,影响几乎没有了
天行健,君子以自强不息
3楼2012-07-09 09:31:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Asfon

新虫 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
lixy1217: 金币+1, ★★★★★最佳答案, 知道了,谢谢~~ 2012-07-09 10:34:26
运算符重载属于编译期行为,实质就是函数调用,不存在运行时判断是保留字还是重载的操作符的问题。。。所以运行时的开销就是函数调用的开销,影响不大。

» 本帖已获得的红花(最新10朵)

4楼2012-07-09 09:58:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nakada3861

新虫 (正式写手)

不会有影响,执行的时候也不会用到重载的时候才去判断,这些工作在编译的时候就完成了。
5楼2012-07-10 20:42:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

重载是在编译的时候就做好了的吧,所以执行起来都一样
6楼2012-07-10 23:04:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyp9903

金虫 (小有名气)

送鲜花一朵
引用回帖:
4楼: Originally posted by Asfon at 2012-07-09 09:58:45
运算符重载属于编译期行为,实质就是函数调用,不存在运行时判断是保留字还是重载的操作符的问题。。。所以运行时的开销就是函数调用的开销,影响不大。

同意, 重载属于静态联编。与多态的动态联编不同。
天下的是非,本来不是永远不变的。世上无不变之事物,也无不变之是非。是非善恶随时势变化。古代用人为牺牲,以祭神求福,今人便以为野蛮了。
7楼2012-07-11 15:41:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
8楼2012-07-12 10:59:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lixy1217 的主题更新
信息提示
请填处理意见