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

时间: 2024-08-28 07:42:00

C++中#include <xxx.h>和#include "xxx.h"的区别(尖括号和双引号的区别)的相关文章

转载 关于include尖括号和双引号的区别。

对于使用尖括号( < >),预处理程序cpp在系统预设包含文件目录(如/usr/include)中搜寻相应的文件,而对于使用双引号(“ ”),cpp在当前目录中搜寻头文件,这个选项的作用是告诉cpp,如果在当前目录中没有找到需要的文件,就到指定的dirname目录中去寻找.在程序设计中,如果我们需要的这种包含文件分别分布在不同的目录中,就需要逐个使用-I选项给出搜索路径. 通常用 < >包含的是标准库的头文件,而用""包含的是用户自己定义的类库的头文件.&quo

C头文件中尖括号与双引号的区别

2.1 Include Syntax Both user and system header files are included using the preprocessing directive ‘#include’. It has two variants: #include <file> This variant is used for system header files. It searches for a file named file in a standard list o

关于C语言include尖括号和双引号的对话

A: #include "..." 和 #include <...> 有什么区别? B: 他喵的, 这么简单的问题. 尖括号是先在系统目录下找, 双引号是首先在当前目录下找, 找不到就找系统目录. A: 说得很含糊. 那么我问你, 当前目录有个叫hdr.h的文件,     当前目录下还有一个子目录sub, sub里面有两个文件hdr.h和1.c,    1.c中#include "hdr.h",    那么在当前目录编译sub/1.c, 它应该包含哪一个

shell脚本中反引号与双引号的·区别与联系

双引号 目的: 为了包含文字或者函数段. 除了本身,反引号内的函数,$开头的变量和\开头反转换的字符外, 其余都是直接输出. 被双引号用括住的内容,将被视为单一字串.它防止通配符扩展,但允许变量扩展.这点与单引数的处理方式不同. 反引号 目的是为了在双引号内保持函数转换. 但单引号内其无作用.在前面的单双引号,括住的是字串,但如果该字串是一列命令列,会怎样?答案是不会执行.要处理这种情况,我们得用反单引号来做.fdv=`date +%F`echo "Today $fdv"在倒引号内的

linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了)(转)

" "(双引号)与 ' '(单引号)的区别  你在shell prompt后面敲打键盘.直到按下enter的时候,你输入的文字就是command line了,然后shell才会以进程方式执行你所提交的命令.但是,你又可知道:你在command line输入的每一个文字,对shell来说,有什么类别之分呢? 简单而言,command line的每一个charactor分为如下两种:   *literal:也就是普通纯文字,对shell来说没有特殊功能.   *meta:对shell来说,

php中超全局数组变量$_GET和$_POST以及单引号和双引号的区别

1,$_GET的传参是在地址栏明文显示的,$_POST是通过http主体请求,页面上看不到(通过firebug可以查看): 2,http并没有明确规定$_GET和$_POST所能提交的数据的限制,$_GET受浏览器和web服务器的相关设置,$_POST也受web服务器以及php.ini中的相关设置而定,$_GET一般提交数据的大小不超过2k: 3.从设定上来说$_GET一般用于获取或查询数据而进行传参,$_POST一般用于更新,插入,删除数据而进行传参,用$_POST提交数据相对于$_GET安全

在python中一对单引号,一对双引号,三个单双引号的区别和用法

首先说明,在python中三个单双引号并不是真正的注释 >>> type("""abcde""") <class 'str'> >>> type('''abcd''') <class 'str'> 这样可以看出三对单,双引号是有数据类型的 三对单,双引号的用法是定义的时候可以定义多行字符串 >>> a = """ ... a ... b .

C语言中 单引号与双引号的区别

在C语言中,字符用单引号,字符串用双引号.在c1='a';中,'a'是字符常量,必须用单引号."a"表示字符串,包含两个字符,一个是'a',一个是'\0'. 用数组来存储字符串. int main() { char ch[2] = "A"; } 简言之,单引号是一个字符,,双引号是字符串, 原文地址:https://www.cnblogs.com/654321cc/p/9266101.html

shell中的单引号和双引号的区别

对于常规的字符串定义变量值应添加双引号,并且等号后不能 有空格,需要强引用的,则需要单引号,需要命令引用的使用反引号. 单引号:所见即所得,即输出时会将单引号内的所有内容都原样输出,或者描述为单引号里面看到的什么就输出什么,这成为强引用. 双引号:输出双引号的所有内容:如果内容中有命令(要反引).变量.特殊转义,会先把变量.命令.转义字符解析出结果,然后在输出最终内容,这称为弱引. 反引号:一般用于命令,执行的时候命令会被执行,相当于$(),赋值和输出都要用反引号引起来. [[email pro