在C++中包含头文件时,尖括号< >
和双引号有什么区别" "
?
我的意思是应该使用例如包含#include <QPushButton>
哪些文件:以及使用例如包括哪些文件:#include "MyFile.h"
???
Car*_*rum 243
它依赖于编译器.也就是说,通常"
在系统头文件中使用当前工作目录中的标头优先级. <>
通常用于系统头.从规范(第6.10.2节):
表单的预处理指令
Run Code Online (Sandbox Code Playgroud)# include <h-char-sequence> new-line
搜索一系列实现定义的位置,以查找由
<
和>
分隔符之间的指定序列唯一标识的标头,并使标头的整个内容替换该指令.如何指定场所或标识的头是实现定义的.表单的预处理指令
Run Code Online (Sandbox Code Playgroud)# include "q-char-sequence" new-line
导致由
"
分隔符之间的指定序列标识的源文件的全部内容替换该指令.以实现定义的方式搜索指定的源文件.如果不支持此搜索,或者搜索失败,则会重新处理该指令,就像它读取一样Run Code Online (Sandbox Code Playgroud)# include <h-char-sequence> new-line
使用
>
原始指令中相同的包含序列(包括字符,如果有的话).
因此,对于大多数编译器,使用第""
一个检查本地目录,如果找不到匹配,则继续检查系统路径.使用<>
系统标题开始搜索.
Fab*_*llo 45
使用尖括号时,编译器将在包含路径列表中搜索该文件.当您使用双引号时,它首先搜索当前目录(即正在编译的模块所在的目录),然后它才会搜索包含路径列表.
因此,按照惯例,您可以使用标准包含的尖括号和其他所有内容的双引号.这样可以确保在(不推荐)情况下,您有一个与标准标题同名的本地标题,在每种情况下都会选择正确的标题.
归档时间: |
|
查看次数: |
126085 次 |
最近记录: |