C++ 包括<;例外情况>;标题C和x2B+;

C++ 包括<;例外情况>;标题C和x2B+;,c++,exception-handling,C++,Exception Handling,似乎当我们包含标题时,和标题会自动包含 问题是为什么参考网站在解释异常处理时喜欢并包括 是否需要包含或?您应该始终包含您使用的内容。C++标准没有声明任何特定的标题必须包含< /强>,它们可以方便地这样做。但是请注意,仅仅因为一个编译器恰好是这样,另一个编译器可能不是这样(例如Visual Studio vs gcc)您应该始终遵循文档。当文档说明为了使用ceratain构造,您需要包含某些标题时,必须包含标题。否则,明天iostream将停止包含标头,并且您的程序将无法编译,或者更糟的是,将出

似乎当我们包含
标题时,
标题会自动包含

问题是为什么参考网站在解释异常处理时喜欢并包括


是否需要包含

您应该始终包含您使用的内容。C++标准没有声明任何特定的标题<强>必须包含< /强>,它们可以方便地这样做。但是请注意,仅仅因为一个编译器恰好是这样,另一个编译器可能不是这样(例如Visual Studio vs gcc)

您应该始终遵循文档。当文档说明为了使用ceratain构造,您需要包含某些标题时,必须包含标题。否则,明天
iostream
将停止包含标头,并且您的程序将无法编译,或者更糟的是,将出现意外行为。

它通常不是编译器,而是依赖于库实现。请注意,对于宏,这可能不是真的。例如,通过包含一个头文件,您应该能够依赖于不应该定义任何其他宏(在未保留的命名空间中),而不是文档化的宏。Yes@SergeyA这是一个更准确的语句。。但不是这些,我知道你是故意简化的。这取决于你需要使用什么异常,如果你只需要其他地方定义的异常(根据标准),例如
std::ios\u base::failure
,你不需要包含