在我的一个类(class)中,我有一个成员“QSize frameSize”。我想为其创建一个getter函数,自然地我想到了“QSize frameSize()”,但这与变量名相同!在Qt中,约定不使用getFrameSize,那么如何避免源代码中的名称冲突?
最佳答案
好吧-首先:使用消息来源,卢克! Qt source code在开放源代码许可下可用,因此您可以自由检查它们的运行方式。
话虽这么说,但在大多数情况下,Qt都不存在此问题,因为大多数公共(public)类实现pimpl idiom以来,只有一个成员变量(“d指针”)。因此,它们可能具有以下功能
int QSomeThing::foo() const {
return d->foo;
}
最后但并非最不重要的一点是,我不了解Qt源代码中成员变量的任何全局命名规则,但是有一些公认的约定。我碰巧使用的是用
m_
(表示它是一个成员)作为所有成员变量的名称的前缀。因此,在我的源代码中,以上函数将(假设我不使用pimpl惯用语)如下所示:int QSomeThing::foo() const {
return m_foo;
}
你的旅费可能会改变。
关于c++ - Qt变量和getter的命名约定,以免它们冲突?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8876749/