C++代码编写规范
1 头文件
1.1 使用头文件保护
使用#define进行头文件保护,而不使用微软的#pragma once。
为了保证唯一性,头文件保护的命名需要基于项目代码路径,比如Project\Src\Area\File.h 则文件的保护应该像这样:
#ifndefine PROJECT_SRC_AREA_FILE_H
#define PROJECT_SRC_AREA_FILE_H
…
#endif
1.2 头文件依赖
使用前置声明减少头文件的所要包含的文件数量,也就减少了需要重新编译文件的几率。
对于需要在头文件里使用其他文件中定义的类时,如果只是使用类的声明而不是具体定义,应该是用前置声明代替包含整个文件,如下:
使用class SomeClass;
不使用 #include “SomeClass”。
1.3 包含头文件的顺序
顺序如下:C库、C++库、其他库.h、项目内的.h,如果次文件是cpp文件,那么要首先包含其对应的头文件,然后再按前述顺序。每个层级用空行分隔,同一层级的文件顺序按英文字母先后顺序排列,如下:
#include“MyFile.h” (如果次文件是cpp文件,首先包含自己的头文件)
#include<stdio.h>
#include<unistd.h>
#include<iostream>
#include<map>
#include<string>
#include“lib/Alpha.h”
#include“lib/Beta.h”
#include“other/zoo.h”
#include“bar.h”
#include“foo.h”
2