js网站访问量统计网站开发工程师报名地点
一、头文件包含顺序
根据《Google C++ 编程风格指南》,对于Foo.cpp,顺序推荐为:
- Foo.h
 - C标准库
 - C++标准库
 - 其它库的头文件
 - 本工程的头文件
 
另外,在包含头文件时应该加上头文件所在工程的文件夹名,可区分重名文件。即假如你有这样一个工程base,里面有一个logging.h,那么外部包含这个头文件应该这样写:#include "base/logging.h",而不是#include "logging.h"。
二、防止头文件被重复包含
1. Include Guards(预处理器宏):这是防止头文件重复包含最常见的方法之一。在头文件的开头和结尾使用预处理器宏,如下所示:
#ifndef MY_HEADER_FILE_H
#define MY_HEADER_FILE_H// 头文件内容#endif // MY_HEADER_FILE_H 
当头文件第一次被包含时,`MY_HEADER_FILE_H` 宏会被定义,头文件的内容会被包含。当头文件再次被包含时,由于宏已经被定义,头文件的内容将被忽略。
2. Pragma Once:使用 `#pragma once` 也可以达到相同的效果,它是一种更现代的方法。在头文件的开头加入 `#pragma once`:
 #pragma once 
`#pragma once` 指令告诉编译器只包含一次该头文件,不需要显式的宏定义和条件判断。
待续...
