C++ 变量和getter的Qt命名约定,因此它们不会';不要碰撞?

C++ 变量和getter的Qt命名约定,因此它们不会';不要碰撞?,c++,qt,naming-conventions,C++,Qt,Naming Conventions,在我的一个类中,我有一个成员“QSizeFrameSize”。我想为它创建一个getter函数,当然我想到了“QSize frameSize()”,但这与变量名是一样的!在Qt中,约定不使用getFrameSize,那么他们如何在自己的源代码中避免名称冲突呢?首先:使用源代码,Luke!在开源许可证下可以使用,因此您可以自由地检查他们是如何做的 也就是说,在绝大多数情况下,Qt没有这个问题,因为大多数公共类只有一个成员变量(“d指针”),因为它们实现了。所以它们可能有如下功能 int QSome

在我的一个类中,我有一个成员“QSizeFrameSize”。我想为它创建一个getter函数,当然我想到了“QSize frameSize()”,但这与变量名是一样的!在Qt中,约定不使用getFrameSize,那么他们如何在自己的源代码中避免名称冲突呢?

首先:使用源代码,Luke!在开源许可证下可以使用,因此您可以自由地检查他们是如何做的

也就是说,在绝大多数情况下,Qt没有这个问题,因为大多数公共类只有一个成员变量(“d指针”),因为它们实现了。所以它们可能有如下功能

int QSomeThing::foo() const {
    return d->foo;
}
最后但并非最不重要的一点是,我不知道Qt源代码中的成员变量有任何全局命名规则,但有一些公认的约定。我碰巧使用的方法是在所有成员变量的名称前面加上
m
(表示它是一个成员)。因此,在我的源代码中,上述函数(假设我不使用pimpl习惯用法)如下所示:

int QSomeThing::foo() const {
    return m_foo;
}

你的里程数可能会有所不同。

好吧——首先:使用来源,卢克!在开源许可证下可以使用,因此您可以自由地检查他们是如何做的

也就是说,在绝大多数情况下,Qt没有这个问题,因为大多数公共类只有一个成员变量(“d指针”),因为它们实现了。所以它们可能有如下功能

int QSomeThing::foo() const {
    return d->foo;
}
最后但并非最不重要的一点是,我不知道Qt源代码中的成员变量有任何全局命名规则,但有一些公认的约定。我碰巧使用的方法是在所有成员变量的名称前面加上
m
(表示它是一个成员)。因此,在我的源代码中,上述函数(假设我不使用pimpl习惯用法)如下所示:

int QSomeThing::foo() const {
    return m_foo;
}

您的里程数可能会有所不同。

您可能还想看看

您可能还想看看

如果您试图用自己的类扩展Qt,通常是
foo()
setFoo()
,您可以在内部使用
m\u foo
或简单地
\u foo
。如果你想说得更准确,请看一下来源


命名事物有很多种方式,最终归结为偏好(你或你的雇主)。只要你是始终如一和清晰的,这并不太重要。这个建议也扩展到了Qt的动态属性。

如果您试图用自己的类来扩展Qt,通常是
foo()
setFoo()
,在内部您可以使用
m\u foo
或简单地
\u foo
。如果你想说得更准确,请看一下来源


命名事物有很多种方式,最终归结为偏好(你或你的雇主)。只要你是始终如一和清晰的,这并不太重要。此建议也适用于Qt的动态属性。

请检查。为什么不为成员命名
m\u frameSize
更直观。@Mat感谢您向我展示Qt属性系统。我不知道这件事。在这里的示例中,我看到他们使用了get前缀约定-即我应该使用getFrameSize()。请检查。为什么不命名成员
m_frameSize
更直观。@Mat感谢您向我展示Qt属性系统。我不知道这件事。在这里的示例中,我看到它们使用了get前缀约定,即我应该使用getFrameSize()。