区别是若 #include “” 查找成功,则遮蔽 #include <> 所能找到的同名文件;否则再按照 #include <> 的方式查找文件。另外标准库头文件都放在 #include <> 所查找的位置。一般来说 #include <> 的查找位置是标准库头文件所在目录, #include “” 的查找位置是当前源文件所在目录。
拥有此形式的预处理指令# include < h-char-sequence > new-line于一序列实现定义位置,查找由 < 与 > 分隔符之间的序列所少数标识的头文件,并导致该指令为头文件的整体内容所替换。位置如何指定,或头文件如何标识,是实现定义的。
拥有此形式的预处理指令# include ” q-char-sequence ” new-line导致该指令为 ” 分隔符间的序列所标识的源文件的整体内容所替换。指名的源文件以实现定义行为查找。若不支持此查找,或若查找失败,则此指令以如同它从原指令,以相同的所含序列读取# include < h-char-sequence > new-line(包含 > 字符,若它存在)。
简言之 #include <> 和 #include “” 都会在实现定义的位置查找文件,并将其包含。
区别是若 #include “” 查找成功,则遮蔽 #include <> 所能找到的同名文件;否则再按照 #include <> 的方式查找文件。另外标准库头文件都放在 #include <> 所查找的位置。
一般来说 #include <> 的查找位置是标准库头文件所在目录, #include “” 的查找位置是当前源文件所在目录。不过这些都可由编译器调用参数等配置更改。
注意其实#include后接<>或””包含的文件都是以实现定义(或者说implementation-defined)的方式去搜索的,以””形式包含的文件在无法以这个形式定义的方式搜索时转为使用<>形式包含的方法去搜索,而绝大多数实现里<>表示搜索系统+附加包含路径中的文件,””表示搜索当前源文件所处路径下的文件,这意味着在这些实现下以””形式包含的文件当无法在当前源文件所处路径下搜索到文件时会转而去搜索系统+附加包含路径,而和之前一个答案不一致的是以<>形式包含则不会这么做。
延伸阅读:
什么是C++
C++是一种计算机高级程序设计语言,由C语言扩展升级而产生,较早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。
C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。
C++拥有计算机运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
C++语言的程序开发环境,为了方便测试,将调试环境做成了解释型。即开发过程中,以解释型的逐条语句执行方式来进行调试,以编译型的脱离开发环境而启动运行的方式来生成程序最终的执行代码。
文章标题:C++ #include ” ” 与 <>有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38510