我对Include Guards有些困惑

Lio*_*ing 2 c++ c-preprocessor

我有两个文件,第一个文件被调用main.cpp,包含main函数,第二个文件被调用class.h,包含一个类的声明.
在同一个两个文件中我被包含在<iostream>文件中,因为每个文件都需要该文件文件.

我想从第二个文件中检查文件iostream是否已经包含在第一个文件中main.cpp,不再包含它.

我做了什么

// main.cpp
#include <iostream>
#include "class.h"
Run Code Online (Sandbox Code Playgroud)
//class.h
#ifndef iostream_H
 #include <iostream>
#endif
Run Code Online (Sandbox Code Playgroud)

该代码是否正确?,如何确保它不再包含该文件?

Luc*_*ore 6

"我想从第二个文件中检查文件iostream是否已经包含在第一个文件main.cpp中,不再包含它." 你不需要 - 包括你需要的任何文件 - 不要依赖于其他文件包含它们.

<iostream> 有自己的包括警卫,所以即使它被包括多次,也没关系.

如果同时class.hmain.cpp需要<iostream>编制,既应该包括它.