C++ include 双引号和尖括号的差异

双引号"xxx.h",表示编译器先在用户的工作目录下搜索头文件,如果搜索不到则到系统默认目录下去寻找,所以双引号一般用于包含用户自己编写的头文件。如:#include "student.h"

尖括号<xxx.h>,表示编译器只在系统默认目录或尖括号内的工作目录下搜索头文件,并不去用户的工作目录下寻找,所以一般尖括号用于包含标准库文件,如:#include <stdio.h>

实际看就是双引号会同时搜索依赖库和用户文件,只是优先搜索用户文件;尖括号则仅搜索依赖库。--所以倘若有规范的话,通过库依赖引用应该使用尖括号,可避免同名引用故障。

原文地址:https://www.cnblogs.com/dongzhiquan/p/15582973.html