什么情况下应该避免函数的重载

richbirdandy 2008-11-13 11:29:36
rt
...全文
60 点赞 收藏 11
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
richbirdandy 2008-11-14
[Quote=引用 8 楼 hqin6 的回复:]
引用 4 楼 BaihowFF 的回复:
引用 3 楼 richbirdandy 的回复:
引用 1 楼 hqin6 的回复:
语义的区分情况下,应该避免!

stl中有些可以重载的,但是便于区分,很多都没进行重载,而是用了两个甚至多个函数名!

大哥能说详细点么 举个例子 什么叫语义的区分

就是同一个名字...同样参数..但是要做的事情不一样...



比如:copy和unique_copy

比如:count和count_if
[/Quote]
恩 的确看stl就明白了
回复
richbirdandy 2008-11-14
4楼你的理解不对啊
回复
BaihowFF 2008-11-14
看来hqin6 卡的不行了...又是发两个...
回复
太乙 2008-11-14
[Quote=引用 4 楼 BaihowFF 的回复:]
引用 3 楼 richbirdandy 的回复:
引用 1 楼 hqin6 的回复:
语义的区分情况下,应该避免!

stl中有些可以重载的,但是便于区分,很多都没进行重载,而是用了两个甚至多个函数名!

大哥能说详细点么 举个例子 什么叫语义的区分

就是同一个名字...同样参数..但是要做的事情不一样...
[/Quote]


比如:copy和unique_copy

比如:count和count_if


回复
太乙 2008-11-14
[Quote=引用 4 楼 BaihowFF 的回复:]
引用 3 楼 richbirdandy 的回复:
引用 1 楼 hqin6 的回复:
语义的区分情况下,应该避免!

stl中有些可以重载的,但是便于区分,很多都没进行重载,而是用了两个甚至多个函数名!

大哥能说详细点么 举个例子 什么叫语义的区分

就是同一个名字...同样参数..但是要做的事情不一样...
[/Quote]


比如:copy和unique_copy

比如:count和count_if


回复
wollww 2008-11-14
简单的说就是:在调用函数时不会因为重载而发生歧义
回复
toadzw 2008-11-14
基类中已经有的non-virtual函数不要去重载,短路求值的一些运算符不要去重载,。。。。
回复
BaihowFF 2008-11-14
[Quote=引用 3 楼 richbirdandy 的回复:]
引用 1 楼 hqin6 的回复:
语义的区分情况下,应该避免!

stl中有些可以重载的,但是便于区分,很多都没进行重载,而是用了两个甚至多个函数名!

大哥能说详细点么 举个例子 什么叫语义的区分
[/Quote]
就是同一个名字...同样参数..但是要做的事情不一样...
回复
richbirdandy 2008-11-13
[Quote=引用 1 楼 hqin6 的回复:]
语义的区分情况下,应该避免!

stl中有些可以重载的,但是便于区分,很多都没进行重载,而是用了两个甚至多个函数名!
[/Quote]
大哥能说详细点么 举个例子 什么叫语义的区分
回复
alai5201987 2008-11-13
up
重名,语义的区分的情况下,能避免尽量避免。
回复
太乙 2008-11-13
语义的区分情况下,应该避免!

stl中有些可以重载的,但是便于区分,很多都没进行重载,而是用了两个甚至多个函数名!
回复
发动态
发帖子
C++ 语言
创建于2007-09-28

5.9w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
社区公告
暂无公告