问题标签 [stdvector]

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 投票
26 回答
515969 浏览

c++ - 连接两个 std::vectors

如何连接两个std::vectors?

0 投票
7 回答
155400 浏览

c++ - 如何根据对的第二个元素对对的向量进行排序?

如果我有一对向量:

有没有简单的方法根据对的第二个元素按升序对列表进行排序?

我知道我可以编写一个小函数对象来完成这项工作,但是有没有办法使用STL的现有部分并std::less直接完成这项工作?

编辑:我知道我可以编写一个单独的函数或类来传递给第三个参数进行排序。问题是我是否可以用标准的东西来构建它。我真的会看起来像:

0 投票
5 回答
829 浏览

c++ - 声明结构 C 的元素向量,元素个数为 i(int 类型的输入)

请看这段代码(并原谅缺乏知识)。它输出我无法解决的错误。我需要声明结构 C 的元素向量,但我需要元素的数量为 i(int 类型的输入)。

我也尝试了其他方法,但在所有这些方法中我都收到了一个错误(无法将 C 转换为 int 等)。我怎样才能做到这一点?

0 投票
3 回答
1840 浏览

c++ - 使用指向存储在向量中的对象的指针... c++

我在全局范围内有一个 myObjects 向量。

方法被传递一个指向向量中元素之一的指针。这个方法可以增加指针,以到达下一个元素,

还是应该传递一个std::Vector<myObject>::iterator并增加它?

现在假设向量在此期间不会改变。

0 投票
6 回答
1758 浏览

c++ - 指针模板清除函数的向量无法通过“未定义引用”消息编译

对于我的一个程序,我做了一个小函数来清除我拥有的各种 std::vectors 指针。

我在这里一定做错了什么,因为在像这样的析构函数中调用这个函数时:

我两次得到以下未定义的引用:

我不得不承认我不熟悉 std::allocator 是什么,所以我猜不出问题可能出在哪里。非常感谢任何帮助。提前致谢!

-左撇子

0 投票
3 回答
11339 浏览

c++ - 函数的 std::vector

我想要一个 std::vector 包含一些功能,并且可以实时添加更多功能。所有的函数都会有一个这样的原型:

无效名称(SDL_Event *事件);

我知道如何制作函数数组,但是如何制作函数的 std::vector 呢?我试过这个:

但他们都没有工作。请帮忙

0 投票
4 回答
20732 浏览

c++ - std::vector 向下调整大小

resize(n)C++ 标准似乎没有说明, withn < size()或对容量的副作用 clear()

push_back它确实对和pop_back- O(1)的摊余成本做出了声明

我可以设想一个实现通常的容量更改 ala CLRS 算法(例如,放大时加倍,减小时减半size to < capacity()/4)。(Cormen Lieserson Rivest Stein)

有没有人有任何实施限制的参考?

0 投票
3 回答
1573 浏览

c++ - 向量的向量,错误的分配

我有一个名为 Contact 的类,我想构建一个指向这些对象的指针数据结构,例如 127 行和 20 列的矩阵。我试图以这种方式使用 std::vector 类

然后,在标题中声明了以下内容

我将之前初始化和声明的矩阵分配给它(这一步是因为基本上我不知道如何以更清晰和简短的方式进行操作):

但使用 push_back 函数,如

一段时间后会产生一个错误(“在抛出 'std::bad_alloc' 的实例后调用终止”),我不知道如何解决它。

还有其他更好的方法来实例化和初始化矩阵吗?您会建议其他解决方案而不是使用向量向量(boost::multiarray..?)?

谢谢(对不起这个愚蠢的问题,我是个穷学生:)

编辑:我发现了错误(只是一个超出范围的分配)。如果您对这种数据结构有一般性建议,我还在这里......

0 投票
7 回答
9068 浏览

c++ - 关于在 C++ 中将数组存储在 std::vector 中的问题

我不清楚以下内容。

首先,这段代码编译得很好:

以下代码几乎相同:

但它会抛出我将在最后包含的极长错误输出。为什么编译器对这两个程序的处理如此不同?这绝对不直观。

这是在我使用 g++ 编译的系统上引发的编译器错误:

0 投票
8 回答
1491 浏览

c++ - c ++ std向量 - 无效的迭代器问题

我有一个标准的指针向量。

在什么情况下,这个向量的迭代器可能会失效?

我有理由相信,当一个对象被删除时,任何引用它的向量迭代器都会因此失效。然而,这对我来说似乎不正确。我确实相信这将是 Managed .NET 中容器的标准行为,但在 c++ 中这对我来说似乎不合适。

这应该使 Iterator It 无效吗?在我看来,它不应该,但后来我遇到了一个难以调试的问题!(我害怕我的解决方法——通过整数索引遍历向量。(这很好用......我只是害怕为什么上面会导致失效问题)。

在此先感谢您的时间。

编辑:感谢您的建议。普遍的共识是上面的代码是危险的,但它不会使迭代器失效。我相信我在使用 Visual Studio 2008 调试器时遇到了错误,因为第二天打开项目后,这个无效问题就消失了。所以 - 与计算机中的许多东西一样,如果似乎没有其他东西起作用,请尝试重置它。