【发布时间】:2010-07-11 17:14:46
【问题描述】:
这就是我正在做的事情。
我有一个我实例化的类,它有一个 std::vector。
当我第一次实例化这个类时,这个 std::vector 是空的。
我使用它的方式是我以指数方式添加并清除它。例如:
添加一个数字,清除向量:
添加2个数字,清除向量:
添加3个数字,清除向量,
添加4个数字,清除向量。 ......
std::vector 是我正在做的最好的方式吗? 我试图在构造函数中做 reserve(100,000) 但这没有帮助。
是否有更好的容器供我使用?
谢谢
【问题讨论】:
-
你到底想做什么?
-
也许问题出在你的算法而不是你的数据结构上?
-
您的课堂使用情况如何?如果您一直对其进行复制(例如通过值而不是引用传递),则内部具有非常大向量的类将不会表现良好。显示更多关于如何使用您的类的代码。
-
你是一直在向量的末尾加点(用
push_back),还是在中间加点? -
观察信息不足造成的混乱。您知道我们不知道的事情,并且您必须意识到将事物添加到向量中以清除它们听起来很琐碎且无用。你在这些事件之间做些什么吗?矢量数据有什么用? 什么是更大的图景?
标签: c++ vector performance