gpt4 book ai didi

支持 Scott Meyer 建议的 C++ IDE : Prefer non-member non-friend functions over members

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:06:18 26 4
gpt4 key购买 nike

Scott Meyer 关于非成员函数增加封装并允许更优雅的设计(设计方面)的论点对我来说似乎非常有效。看这里:Article

但是我对此有疑问。 (似乎还有其他人,尤其是库开发人员,他们通常完全忽略这一点)

当我使用成员函数时,代码通常看起来更好、更合乎逻辑。不过,这可能是一种后天习得的品味,只是需要一些时间来习惯先查看算法,然后再查看对象。 (颤抖)

所以也许我只有一个问题:

有了成员函数, 我的 IDE 就知道类可以做什么。

对我来说,这是巨大的!我使用任何不支持成员函数代码完成的东西来编程。在设计良好的库中,它完全取代了我的文档。即使我会查看 api 文档,浏览成员列表也感觉绝对自然、合乎逻辑,我可以确定,好吧,这就是结束。如果方法不在那里,我可以放心地假设它不存在,我可以写我的非成员(member)非 friend 。

我在 STL 中容忍了这一点,因为,好吧,将算法与基本组件分开看是有意义的,而且你会习惯它的因素。

我还没有看到一个 IDE 可以告诉我哪些非成员函数在特定类上起作用。

这实际上是我的问题:是否有 IDE(或 IDE 功能)有助于此代码约定?

最佳答案

我过去遇到过这种事情。

当时我的想法相当笨拙,但完成了工作: namespace 。

我做的是

namespace myclass
{
class MyClass
{
...
};

MyClass operator+(const MyClass& lhs, const MyClass& rhs){...}
}

关于支持 Scott Meyer 建议的 C++ IDE : Prefer non-member non-friend functions over members,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1714317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com