预处理器指令 conio.h c++

Posted

技术标签:

【中文标题】预处理器指令 conio.h c++【英文标题】:Pre processor directive conio.h c++ 【发布时间】:2013-10-15 06:53:48 【问题描述】:

在 C++ 中使用的头文件没有 .h 扩展名,如 <iostream> 而不是 <iostream.h>,但在 <conio.h> 的情况下则不同。为什么我们不能使用<conio>

【问题讨论】:

【参考方案1】:

C++ 标准指定哪些头文件是 C++ 标准库的一部分。除了 C++ 特定的头文件外,它还包括 C 标准指定的头文件。您可以将它们与它们的 C 名称一起使用(例如,#include <stdio.h>),并将它们的符号放入全局命名空间中。您可以在没有.h 扩展名和前面的c(例如#include <cstdio>)的情况下使用它们,并将它们的符号放入命名空间std

但这适用于 C 标准的标头。 conio.h 不是 C 标准的一部分,因此 C++ 标准没有说明任何内容。

【讨论】:

【参考方案2】:

conio.h 是 C 标头,因此(传统上)C 标头具有系统标头的 .h 扩展名。 C++ 标准头文件主要没有这个 .h 扩展名。您可能知道,许多 C 头文件(来自标准库的头文件)都有 C++ 对应的头文件(就像在 C++ 中一样)

【讨论】:

【参考方案3】:

因为conio.h 是 C 头文件,而不是 C++ 特定的。

【讨论】:

【参考方案4】:

conio 不是 c++ 标准的一部分,因此您不能指望编译器知道它是什么。 :(

其实我觉得一般只有windows下才支持。

【讨论】:

以上是关于预处理器指令 conio.h c++的主要内容,如果未能解决你的问题,请参考以下文章

小白学习C++ 教程十四C++ 中预处理器

有 C++ 标准库 ifdef 或 ifndef 预处理器指令吗?

c++ 中的预处理器指令:以下代码的输出是啥?

C ++中的宏指令和预处理器指令有啥区别[重复]

来自 C++ 代码的预处理器指令 (_VARIADIC_MAX)

通过#define 预处理器指令覆盖 C++ 中的“endl”