乐闻世界logo
搜索文章和话题

# include “…” 和 # include <…> 两种方式有什么区别?

2 个月前提问
2 个月前修改
浏览次数22

1个答案

1

在C++和C语言中,预处理指令 #include 用来导入或者包含其他文件的内容。#include 可以通过两种不同的方式来使用,分别为 #include "..."#include <...>

#include "..."

当使用双引号 "..." 形式,预处理器会首先在源文件的相对路径下查找指定的文件。如果没有找到,它会继续在编译器设定的标准库路径中查找。通常情况下,这种形式用于包含用户自定义的头文件。

示例:

假设你有一个项目,其中有个自定义的模块在文件 utils.h 中,你通常会这样包含它:

cpp
#include "utils.h"

这告诉预处理器首先在当前目录(或指定的源文件相对路径)中查找 utils.h

#include <...>

使用尖括号 <...> 形式时,预处理器不会在相对路径中查找,而是直接在标凈库的路径中查找这个文件。这种形式通常用于包含标准库头文件或者第三方库头文件。

示例:

当你需要包含标准库中的 iostream 头文件时,你会这样写:

cpp
#include <iostream>

这指示预处理器在系统的标准库路径中查找 iostream 文件。

总结

总的来说,选择使用双引号或尖括号取决于头文件的来源。如果是自定义或者项目内部的头文件,使用双引号;如果是系统或标准库的头文件,使用尖括号。这样做不仅可以提高编译效率,还有助于代码的移植性和可维护性。

2024年7月20日 00:29 回复

你的答案