# include<heαd.h>和# include″heαd.h″的区别
1. #include <head.h> 的搜索规则
- 适用场景:通常用于包含标准库头文件(如 stdio.h 、 iostream 等)。
- 搜索路径:编译器会优先在系统默认的头文件目录中查找(例如Linux下的 /usr/include ,Windows下的MSVC安装路径等),不会在当前源文件所在目录查找。
2. #include "header.h" 的搜索规则
- 适用场景:通常用于包含自定义头文件(即自己编写的头文件)。
- 搜索路径:编译器会先在当前源文件所在的目录中查找,若未找到,再去系统默认目录中查找。
总结:如何选择?
- 包含标准库头文件时,用 <> ,例如: #include <iostream> #include <string> 。
- 包含自定义头文件(如同一项目中的 .h 文件)时,用 "" ,例如: #include "myHeader.h" 。
这样的设计可以让编译器更高效地定位头文件,避免搜索冗余路径。