的区别_c++ include引号与尖括号区别">
在C++中,#include "" 和 #include 都用于包含头文件,但它们在查找文件时的搜索路径顺序不同,这是两者最主要的区别。
1. #include "文件名"
使用双引号时,编译器首先在当前源文件所在的目录中查找指定的头文件。如果找不到,才会按照系统默认的头文件路径(如标准库路径)继续搜索。
适用于:项目中的自定义头文件或本地头文件。
例如:- #include "myheader.h" —— 先在当前目录找 myheader.h
- 常用于包含你自己写的 .h 文件
2. #include
使用尖括号时,编译器直接在系统的标准头文件目录中查找,比如安装编译器时自带的标准库路径(如 /usr/include 或 MinGW 的 include 目录),不会优先搜索当前目录。
立即学习“C++免费学习笔记(深入)”;
适用于:标准库头文件或第三方库头文件。
例如:- #include
- #include iostream>
- #include
3. 搜索顺序总结
关键区别在于搜索路径的优先级:
- #include "xxx":当前目录 → 系统目录
-
#include
:只查系统目录(不查当前目录)
这个机制可以避免你在项目中不小心覆盖了标准头文件。比如你写了个叫 iostream 的头文件放在本地,用引号包含会优先加载你的文件,而用尖括号则仍加载标准库的那个。
4. 实际建议
- 自己写的头文件用双引号:#include "utils.h"
- 标准库或第三方库用尖括号:#include
- 多数编译器允许混用,但遵循惯例更安全、清晰











