【发布时间】:2012-08-07 13:22:03
【问题描述】:
一个 std::vector 在内部包含一个给定类型的连续内存缓冲区,布尔值除外。有没有办法通过指定这个缓冲区来构造一个向量,这样就不需要处理数据了?
我有一个 C api,它给我一个特定类型的数据缓冲区。我希望能够通过与 std::vector 相关的功能来操作这些数据,例如 std::vector::iterator、begin()、end() 等。
也许你对我如何使用这些缓冲区有更好的建议,因为它们很大,我不想复制它们。
api 分配内存并提供一个函数,我调用它来告诉它再次释放它。
【问题讨论】:
-
也许你不知道,但指针是迭代器。
-
您是否将缓冲区提供给 C API 进行填充,还是为其分配内存并将其返回给您?
-
@JohnB 它分配内存并提供一个函数,我调用它告诉它再次释放它。
-
好的,所以你不能制作一个向量然后给它内存。只是一个想法
标签: c++