使用尖括号时编译器优先在系统路径查找头文件,适用于标准库;使用双引号时先在本地目录查找,再搜索系统路径,适合自定义头文件。
在C++中,#include 是最常用的预处理指令之一,用于将头文件的内容插入到源文件中。使用尖括号 和双引号 " " 来包含头文件时,编译器查找文件的路径顺序有所不同。
当使用尖括号包含头文件时:
#include iostream>编译器会按照系统标准头文件的搜索路径来查找文件。这些路径通常包括:
这种写法适用于包含标准库头文件或已安装在系统路径下的第三方库头文件。
当使用双引号包含头文件时:
#include "myheader.h"编译器首先在当前源文件所在目录或项目指定的包含目录中查找文件。如果未找到,才会继续在系统路径中搜索。
这种机制适合包含用户自定义的头文件,尤其是项目内部模块之间的引用。
不同包含方式的搜索顺序如下:

基本上就这些。理解这两种包含方式的区别,有助于避免头文件找不到的问题,也能让项目结构更清晰。不复杂但容易忽略。