在C++文件中,函数的顺序是否有标准?
以下是常见的函数顺序:
- 全局函数
- 构造函数
- 析构函数
- 获取函数
- 设置函数
- 算法函数
- 如果是Qt程序,则为槽函数
- 如果是派生类,则为重载函数
- 静态函数
- 其他未命名类型的函数...
在C++文件中,如何更好地排列这些函数呢?
我按照上面列表中的顺序进行排列。
虽然这不会改变任何东西,但我注重代码的美观程度...
你是如何排列的呢?
我的个人顺序由类声明内的顺序给出:
class MyClass
{
public:
MyClass();
~MyClass();
void start();
protected:
static void init(MyClass *);
private:
int m_iCounter; ///< counter variable for....
};
在 .cpp 文件中,它的样子看起来像这样:
MyClass::MyClass() :
m_iCounter(0)
{
...
}
MyClass::~MyClass() {
...
}
void MyClass::start() {
...
}
void MyClass::init(MyClass *) {
...
}
顺序如下:
signals
start()
和stop()
,然后是getters和setters。希望有所帮助。
ciao, Chris
现在它比以前不那么重要了。所有好的IDE都有(或应该有)通过右键单击或其他简单手势查找定义或引用的能力。浏览代码是浪费时间。
我通常按以下顺序排列: 构造函数 析构函数 我实现其余部分的任何顺序
然后,我回过头来将逻辑/相关功能分组在一起。
在头文件中对相关事物进行分组/排序以提高可读性可能比在cpp文件中更为重要。
在一个类内部,语言没有严格的规定。在类外部,当声明和定义分离时,需要确保声明在定义之前。
通常情况下,你会发现你所工作的团队会制定有关源文件格式的任何格式规则。然而,这只是美学方面的问题,它对程序的实际执行没有影响。
从最重要到最不重要:
方法本身应按其“抽象级别”排序:高级别:向上,低级别:向下,换句话说,结构化您的方法,使它们仅调用以下方法。
我们公司的标准是:
我使用我的IDE进入我cpp文件中的函数,它按字母顺序进行排序,或者我进行搜索,并且搜索时实时响应,这非常快速。
所以对我来说,在.cpp文件中的函数顺序上没有任何工作流程的差异...