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名字空间。