【问题标题】:What is the header file called to create generic classes using bloodshed dev-c++?使用 Bloodshed dev-c++ 创建泛型类时调用的头文件是什么?
【发布时间】:2012-04-02 18:46:55
【问题描述】:

我曾尝试使用#include <generic>#include <generic.h>,但无法识别它们。我试过查阅手册,但对我没有帮助。

那么有人知道使用 Bloodshed Dev-C++ 的这个头文件的正确名称吗?

【问题讨论】:

  • “泛型类”到底是什么意思? C++ 没有这样命名的特性。还是您的意思是某个 3rd 方库中名为“通用”的类?
  • 泛型类本身就是一个宏,它生成的类都具有相同的通用形式
  • C++ 中的泛型编程不是这样。你以前在哪里见过这个?
  • @Mr_leighman:是什么让你认为 C++ 中有这样一个头文件或这样一组宏?
  • 嗯,在我的教科书中它是这么说的......它说“查阅这个文件和你的系统手册来确定你的 generic.h 中提供的所有宏”

标签: c++ class generics header


【解决方案1】:

<generic.h> 是来自古代、准标准 C++ 的标头。事实上,即使与标准前的 C++ 相比,它也已经过时了。当 C++ 只是 C 之上的预编译器时,我被使用过。即使你能找到一个仍然支持它的编译器,使用它也不是一个好主意,你也不会像现在这样学习 C++。

任何提到<generic.h> 的书都可能已经过时了二十年。相反,您应该从The Definitive C++ Book Guide and List 中选择一本书。如果您只是学习编程,我推荐Programming: Principals and Practice Using C++。如果您已经熟悉其他语言的编程,那么 Accelerated C++ 应该不错。

Dev-C++ 的最新版本也很老了(虽然没有<generic.h> 这么老),而且更新更好,编译器和 IDE 都是免费提供的。如果您使用的是 Windows,那么 Visual Studio 11 beta 应该是您的首选。 (假设您不在旧版本的 Windows 上...)

【讨论】:

  • 仅供参考,实际上有一些 recent independent updates 到 Dev-C++。但是,是的,我仍然不会推荐它而不是任何替代品。
  • 好吧好吧..这对我来说是个新闻。我想在开始这本书之前我应该​​检查一下。我发现这本书很容易吸收和理解,现在我必须在学习这本书 8 个月后重新开始!!!-因为你说它完全过时了。太好了,现在 - 我想我会去抽一支哈姆雷特雪茄!
【解决方案2】:

C++ 没有 Java 和 C# 那样的泛型。 C++ 有一个类似的功能称为 templates,但没有为此包含特殊的标头。 C++在本质上支持模板。您可以通过在尖括号中提及它们的名称以及模板参数类型来使用模板类型和函数:

#include <vector>

// declare a variable of type std::vector<int>
std::vector<int> vector_of_ints;

#include &lt;vector&gt; 是告诉编译器std::vector 模板类,而不是告诉编译器一般如何使用模板。

您可以使用template 关键字定义新的模板类型和函数:

// declare a function accepting and returning a type to be determined later
template <typename T>
T add_one(T x) {
  return x + 1;
}

【讨论】:

  • 我会说模板有一个类似于 Java 和 C# 中的泛型的用例,但这并不会使模板类似于 Java/C# 泛型。
  • 是的,谢谢,我会在您的回答的帮助下尝试一些变化 - 不知道如何将您的回答翻译成我的回答,但我相信它会有所帮助,谢谢
  • 好吧好吧..这对我来说是个新闻。我想在开始这本书之前我应该​​检查一下。我发现这本书很容易吸收和理解,现在我必须在学习这本书 8 个月后重新开始!!!-因为你说它完全过时了。太好了,现在 - 我想我会去抽一支哈姆雷特雪茄!
猜你喜欢
  • 2019-06-27
  • 1970-01-01
  • 1970-01-01
  • 2021-11-25
  • 2012-08-27
  • 1970-01-01
  • 2020-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多