C++ 动态分配的 std::vector
Posted
技术标签:
【中文标题】C++ 动态分配的 std::vector【英文标题】:C++ Dynamically allocated std::vector 【发布时间】:2013-11-18 22:26:31 【问题描述】:我是 C++ 新手,我正在用 C++ 编写大学项目 Driver Book。 我是第一次使用向量,我想让它与动态内存分配一起使用。
我有这样声明的向量:
vector <item> book;
需要什么才能使其与动态内存分配一起使用?
提前致谢。
【问题讨论】:
请详细说明使其适用于动态内存分配!在哪些方面声明vector <item> book
不足以满足您的需求?
vector 内部使用动态分配,没有太多需要在任何标准库容器上真正使用动态分配。
vector 确实适用于动态分配,总是。你不需要做任何事情来做到这一点。我想你的问题是'如何使用矢量?'
【参考方案1】:
完成。当您 push_back
进入时,vector
已经在内部动态分配。
【讨论】:
【参考方案2】:更详细一点:vector<T>
是一个可调整大小的数组,它可以容纳T
类型的对象。
它在内部动态获取内存。现在,如果您想创建具有动态分配的向量,您可以随时使用vector<item>* myVec = new vector<item>();
虽然通常您永远不需要动态创建vector
。
【讨论】:
【参考方案3】:向量在内部使用动态内存分配。所以你需要做的就是把元素放进去:
item i = ....;
book.push_back(i);
请参阅this reference,了解您可以使用矢量执行的更多操作。
【讨论】:
以上是关于C++ 动态分配的 std::vector的主要内容,如果未能解决你的问题,请参考以下文章