问题标签 [vector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
5054 浏览

c++ - 更改 C++ 向量的保留内存

我有一个包含 1000 个“节点”的向量

问题是当我要重新填充它时,我也将其清除。

容量不变。我使用了 resize(1); 但这似乎并没有改变容量。那么如何改变储备呢?

0 投票
8 回答
7771 浏览

java - Java中的向量,如何在一个对象中返回多个向量

我正在开发一个java程序,我在一个方法中定义和填充了几个向量(来自一个文件)。我需要从方法中返回所有向量的内容。我听说您可以将它们全部放在一个对象中以返回它们。这可能吗?如果可以,怎么做?如果没有,您对我有任何可能的解决方案吗?在此先感谢您的帮助!

这是一个代码片段:

0 投票
3 回答
17105 浏览

c++ - 如何使用 icc 编译器检查 gdb 中 std::vector 的内容?

我想检查 gdb 中 std::vector 的内容,但我无权访问 _M_impl,因为我使用的是 icc,而不是 gcc,我该怎么做?为简单起见,假设它是一个 std::vector 。

这里有一个非常好的答案,但是如果我使用 icc,这将不起作用,错误消息是“没有名为 _M_impl 的成员或方法”。这里似乎有一个不错的调试工具集但它也依赖于_M_impl。

0 投票
3 回答
38463 浏览

c++ - 如何将 std::sort 与结构向量和比较函数一起使用?

感谢 C 中的解决方案,现在我想在 C++ 中使用 std::sort 和向量来实现这一点:

vector< pkt > wektor;使用 push_back() 填充;比较功能:

要纠正什么?在这种情况下如何正确使用 std::sort ?

0 投票
5 回答
145102 浏览

c++ - 从向量中擦除元素

我想使用擦除方法从向量中清除一个元素。但这里的问题是,不能保证元素在向量中只出现一次。它可能出现多次,我需要清除所有这些。我的代码是这样的:

这段代码显然会崩溃,因为我在迭代它时更改了向量的结尾。实现这一目标的最佳方法是什么?即有没有办法做到这一点而无需多次迭代向量或创建一个向量的更多副本?

0 投票
10 回答
32478 浏览

c++ - 寻找类似 C++ STL 的向量类但使用堆栈存储

在我写我自己的之前,我会问你们所有人。

我正在寻找一个几乎完全像 STL 向量但将数据存储到堆栈上的数组中的 C++ 类。某种 STL 分配器类也可以工作,但我试图避免任何类型的堆,甚至是静态分配的每线程堆(尽管其中一个是我的第二选择)。堆栈更有效。

它几乎需要替换当前使用向量的代码。

对于我自己要写的东西,我在想这样的事情:

或者该类可以在内部分配缓冲区空间。然后它看起来像:

我在想如果空间用完它会抛出 std::bad_alloc ,尽管这不应该发生。

更新

使用 Chromium 的 stack_container.h 效果很好!

我自己没想过这样做的原因是我一直忽略了 STL 集合构造函数的分配器对象参数。我曾多次使用模板参数来做静态池,但我从未见过代码或编写过任何实际使用对象参数的代码。我学到了一些新东西。很酷!

代码有点混乱,出于某种原因,GCC 迫使我将分配器声明为实际项目,而不是将其构造为向量的分配器参数。它来自这样的事情:

对此:

每当我宣布一个新的时,我都必须重复这一点。但它就像我想要的那样工作。

我注意到 stack_container.h 定义了一个 StackVector,我尝试使用它。但它没有从 vector 继承或定义相同的方法,因此它不是一个直接替代品。我不想使用向量重写所有代码,所以我放弃了它。

0 投票
4 回答
2285 浏览

vector - 使用 epsilon 值来确定游戏中的球是否不动?

我有球在四处弹跳,每次它们碰撞时,它们的速度矢量都会因恢复系数而减小。

现在我的球的 CoR 是 .80 。因此,在多次反弹后,我的球“停止”滚动,因为它们的速度变得非常小。

在哪个阶段检查速度值是否足够小以简单地将其称为零是合适的(所以我没有球对它们的微速度做出反应的疯狂抖动)。我之前在一些论坛上读过,人们有时会使用一个 epsilon 常数,一些很小的数字并检查它。

我是否应该定义一个 epsilon 常量并执行以下操作:

每次我更新球的速度和位置?这是一般的做法吗?将它放在我的 x 和 y 的 Vector 类设置器中是否合理?或者当我计算速度时我应该在我的矢量类之外做它。

另外,如果我使用浮点数作为速度向量,那么合理的 epsilon 值是多少?

0 投票
4 回答
6635 浏览

c++ - std 库中有什么函数可以对向量进行二进制搜索并找到一个元素?

我有一个节点结构

在一个排序的向量中。

我想知道算法中是否有一个函数可以对向量进行二进制搜索并找到一个元素。

0 投票
1 回答
948 浏览

c++ - 填充向量来自 char * 中的整数

我想用值填充数组,

3,1,4,15

有没有一种巧妙的方法可以使用 stl 复制算法来做到这一点?

0 投票
20 回答
204711 浏览

c++ - 在 C++ 中使用数组或 std::vectors,性能差距是什么?

在我们的 C++ 课程中,他们建议不要再在新项目中使用 C++ 数组。据我所知,Stroustroup 本人建议不要使用数组。但是有显着的性能差异吗?