Avatar ·

C++中 #include <filename> 和 #include "filename" 有什么区别?

大家好!我是一名C++初学者,遇到了一个不太明白的地方。在教材和代码示例中,我看到两种包含头文件的方式: 1. `#include ` — 使用尖括号。 2. `#include "myheader.h"` — 使用双引号。 乍一看,似乎没有区别——两种方式都能包含文件。但我注意到,标准库(如iostream、vector、string)总是用尖括号,而自己的文件(如"myclass.h")则用双引号。 我尝试写了 `#include "iostream"` — 代码编译并运行成功了。但 `#include ` 却报错 "file not found"。为什么会这样?这只是风格约定,还是存在实际的技术差异? 我特别想知道: - 编译器在每种情况下是如何查找文件的? - 选择哪种方式会影响性能吗? - 是否存在必须使用某一种方式的情况? 以下是我的代码示例: ```cpp // main.cpp #include // 工作正常 ```