【问题标题】:std::vector alternative for C [closed]C 的 std::vector 替代 [关闭]
【发布时间】:2011-06-22 21:48:01
【问题描述】:

我想知道 C 中的 std::vector 是否有替代方案?我找到了this implementation,但它似乎包含一些内存重新分配问题。

【问题讨论】:

  • std::vector 的哪一部分困扰着您,您正在寻找替代实现?
  • @Peyman:也许他没有 C++ 编译器...
  • 我正在为基于 SmartXA2 的微控制器开发一些代码,并且它只有一个 C 编译器。
  • 如果这是一个嵌入式系统,可能还会对 malloc、memcpy 和有限的内存量进行限制——最好在开始时分配一个固定的最大数组

标签: c arrays stl stdvector


【解决方案1】:

您可以试试 glib 及其 arrays (GArray)。

glib 得到积极维护、跨平台、开源 (LGPLv2+),并且不会停止在数组/向量上。您还拥有哈希表、链表、队列和许多其他数据结构。

【讨论】:

  • 我怀疑 glib 对于嵌入式系统来说是一个不错的选择。
  • 你可能是对的。当我回答这个问题时,他没有提到他将在嵌入式系统中使用它......
【解决方案2】:

在阅读C Array vs. C++ Vector 时,我发现simple vector container in C 的一个有趣实现,它还包括push/pop 操作。值得一读!

【讨论】:

  • 您与简单容器的链接现已损坏。
【解决方案3】:

如果您专注于数学,您可以使用 GSL,这里有一个更简单的以数学为中心的概念。

【讨论】:

  • 这与std::vector 没有任何关系。它甚至无法生长。
  • 是的,它不能增长,从而避免了重新分配问题。
猜你喜欢
  • 2013-09-11
  • 2021-04-08
  • 1970-01-01
  • 2022-09-30
  • 1970-01-01
  • 2017-02-19
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多