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