首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类函数成员不依赖于类成员

类函数成员不依赖于类成员
EN

Stack Overflow用户
提问于 2011-01-25 02:58:07
回答 5查看 100关注 0票数 2

如果类函数成员不依赖于类的任何成员,那么为什么类函数成员应该是类的一部分?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-01-25 03:07:47

不是的。事实上,you should prefer free-functions over member functions。只有真正需要对成员进行操作的函数才应该是成员函数,the rest should use them to provide functionality

票数 7
EN

Stack Overflow用户

发布于 2011-01-25 03:15:42

假设你的意思是“不依赖于任何非公共成员”,Scott Meyer曾经answered a definite 过这个问题。

然而,他只专注于封装:通过使这些函数成为非成员来改进封装。

其他注意事项可能包括,例如,如果运算符被定义为非成员,则不能在临时运算符上调用operator<<。(您为什么要这样做呢?例如,从组成部分构建一个字符串参数,iostream样式。)

并且考虑因素可以简单地包括用法符号有多自然和清晰。带有嵌套调用的符号(对于非成员)可能会相当烦人和不明确。这就是为什么我们将->作为*取消引用+成员选择的语法糖。

因此,如果您只关注封装,那么就像Scott Meyer建议的那样,将这些成员函数移出类。否则,在考虑到可用性和符号清晰度等方面的情况下,做出工程决策。无论如何,不用担心:它可能并不是非常重要。:-)

干杯&哈。

票数 1
EN

Stack Overflow用户

发布于 2011-01-25 03:03:58

如果它与类的含义相关,你应该把它放在一起,即使它不使用任何类的成员。

原因很简单,对于开发人员来说,对于未来的开发人员来说,知道去哪里看。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4785928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档