C++中#include 和#include "xxx.h"的区别(尖括号和双引号的区别)

时间:2023-03-09 04:20:10
C++中#include <xxx.h>和#include "xxx.h"的区别(尖括号和双引号的区别)

第一种方式:采用< >方式,表示让编译器在编译器的预设标准路径下去搜索相应的头文件,如果找不到则报错。

例如:VS2015的安装目录\Microsoft Visual Studio 14.0\VC\include下面就包含了标准库的头文件。

第二种方式:采用" "方式,表示先在工程所在路径下搜索,如果失败,再到系统标准路径下搜索。

所以,特别要注意的是,如果是标准库头文件,那么既可以采用<>的方式,又可以采用" "的方式,而用户自定义的头文件只能采用" "的方式。

例如,如下这种方式是正确的:

#include <iostream> 效率较高

#include "iostream" 效率较低

如下这种方式是不正确的:

#include "diy.h" 是我们自己创建的头文件

试试看:

如果包含头文件时写作如#include <iostream>,但是没有using namespace std;,即没有使用std名字空间,能否正常实现输入输出功能?
结论:如果按照这样的写法,必须要使用std名字空间。