c 矢量++代码

我正在尝试获取向量的源代码,看看如何实现标准矢量 std 或者 stl.

这是以学习的目的完成的。 现在问题是我可以找到源代码的地方。
甚至是另一个容器的源代码 C++ 也很有用。
已邀请:

君笑尘

赞同来自:

没有矢量标准的标准定义了行为和界面 /以及一些实施的细节,如连续存储/, 但是该代码是编制者作者的问题。

您的编译器必须有自己的标题文件。
<vector>

, 您是否在自己的装配路径上检查了它? 一旦你发现你也应该看到其他容器 STL 在各自的头条新闻中。 列表 Microsoft Visual C++ 是
http://msdn.microsoft.com/en-u ... .aspx
, 包括其中一些是专有的,所以在下面的解释中观看这一点。

在 Visual C++ .NET 2003 成员
标准
文件
<hash_map>


<hash_set>

不再是
空间名称 std, 而且相当搬家
在空间名称中 stdext. 厘米。 stdext
命名空间欲了解更多信息。

用我的安装 Visual C++ Express 2010 它们在此文件夹中:

c:\program files\microsoft visual
Studio 10.0\vc\include
</hash_set></hash_map></vector>

帅驴

赞同来自:

杂项履行具有不同的实施。

但我认为这是你想要的,广泛使用的实施 gcc:
https://github.com/gcc-mirror/ ... ector
这是主要标题文件,并且实现是
https://github.com/gcc-mirror/ ... tor.h

https://github.com/gcc-mirror/ ... tor.h
他用 MACRO, 迫使代码以良好的性能合作并适合变量情况,但要使难以阅读,祝你好运。

帅驴

赞同来自:

大多数,如果不是所有源代码
std::vector

必须包含在标题本身
<vector>

.

标准库容器 - 这些是所有类模板,因此它们所有成员函数的定义和定义都包含在相应的头条新闻中。

请注意,任何容器都没有一个真正的实现; 每个实施标准库 C++ 只要它符合容器的要求,可以自由实现每个容器。
</vector>

要回复问题请先登录注册