gpt4 book ai didi

c++ - 用#ifdef _cplusplus 包装 header 的目的

转载 作者:行者123 更新时间:2023-11-30 00:41:05 29 4
gpt4 key购买 nike

#ifdef _cplusplus
#include headerfile.h
#endif

我理解这背后的概念,但我不完全理解为什么需要它。

如果目的是在代码未用 C++ 编译时防止 header “变形”:

-如果不是 C++,如何编译代码?

-如果没有该 header ,代码将如何继续运行?

切向:

-什么情况需要这样做?

最佳答案

  • 如果不是 C++,如何编译代码?

与 C.

  • 如果没有该 header ,代码将如何继续运行?

这就是包含标题的原因。如果它可以在没有头文件的情况下使用 C++ 编译器编译和工作,#ifdef将毫无意义。

  • 什么情况需要这样做?

它们可能只是引入用 C++ 编译器编译时需要的东西。也许调试宏需要使用 std::cerr ,那么该 header 可能包含 <iostream> .它可能有数百万个原因。

关于c++ - 用#ifdef _cplusplus 包装 header 的目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4477318/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com