在我的一个类中,我有一个成员“QSize frameSize”。我想为它做一个getter函数,自然而然地想到了“QSize frameSize()”,但那将与变量名相同!在 Qt 中,惯例是不使用 getFrameSize,那么他们如何避免在自己的源代码中发生名称冲突?
最佳答案
好吧 - 首先:使用源代码,Luke! Qt source code在开放源代码许可下可用,因此您可以自由检查它们的工作方式。
也就是说,在绝大多数情况下 Qt 没有这个问题,因为大多数公共(public)类只有一个成员变量(“d 指针”),因为它们实现了 pimpl idiom .所以他们可能有这样的功能
int QSomeThing::foo() const {
return d->foo;
}
最后但同样重要的是,我不知道 Qt 源代码中的成员变量有任何全局命名规则,但有一些公认的约定。我碰巧使用的是在所有成员变量的名称前加上m_
(表示它是成员)。因此,在我的源代码中,上面的函数(假设我不使用 pimpl 习惯用法)看起来像:
int QSomeThing::foo() const {
return m_foo;
}
您的里程可能会有所不同。
关于c++ - 变量和 setter/getter 的 Qt 命名约定,这样它们就不会发生冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8876749/