在C++中,#include <memory>
和 #include "memory"
两者都是包含 <memory>
标准库头文件的方式,但它们之间有一些区别。
-
#include <memory>
:- 这种形式是用于包含标准库头文件的。
- 当使用尖括号
< >
包围文件名时,编译器会首先在标准库目录下搜索对应的头文件。 - 因此,
#include <memory>
将会在标准库的位置搜索<memory>
头文件。
-
#include "memory"
:- 这种形式是用于包含自定义头文件或者项目内的头文件。
- 当使用双引号
" "
包围文件名时,编译器会首先在当前源文件所在目录中搜索对应的头文件,如果找不到则会搜索包含该源文件的目录和其他一些指定的目录。 - 因此,
#include "memory"
将会在当前源文件所在目录搜索memory
头文件。
总的来说,使用尖括号 <>
包含的是标准库头文件,而使用双引号 ""
包含的是用户自定义头文件或者项目内的头文件。