问题标签 [push-back]
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.
c++ - 带有向量的 push_back 上的 SIGTRAP,未设置断点
我正在尝试通过使用 Prim 算法的随机版本来生成图的生成树。然而,我的程序在生成树生成阶段崩溃了,仔细检查发现了三个不同的错误。
1)在usedEdges.push_back(*i);
(在下面的代码中)接收到 SIGTRAP,其中usedEdges
类型为std::vector<Edge>
。
edges_[edge.From()].push_back(edge);
2) 在图形的代码中接收到一个 SIGTRAP ,在非常相似的行edges_
:std::vector<std::list<Edge> >
3)当我尝试将边缘的信息打印到终端时,有几次我收到了 SEGFAULT,尽管我无法多次重现它。
如果我理解正确,我收到 SIGTRAP 的事实意味着 Windows 由于内存损坏而触发了某种错误?如果是这样,我的记忆在哪里被破坏了?
生成生成树的代码如下。该maze_
成员是一个图,它在内部将节点和边存储在向量和邻接列表中。
到目前为止我已经尝试过:重建项目,尝试在代码中设置实际断点以观察变量,但到目前为止还没有看到任何异常。然后我又不确定我应该寻找什么......
编辑
Edge 类声明是
c++ - 来自聚合类的对象向量中的 Push_back
我对向量有一点问题。据我了解,push_back()
将复制参数并将副本插入向量中。
对于像我这样的简单聚合类,应该通过复制两个字段来复制对象。
与vector<BridgeData> &v
.
当我 print 时data.name
,我得到了我在花括号列表中使用的值,但是当我 print 时v[i].name
,该字段似乎为空...此类聚合类的默认副本“构造函数”是否默认初始化所有字段?
编辑:
如果这还不够,这里还有更多代码。我有一个包含作为数据成员的类vector<BridgeData> yarpGroups
。然后,我将它作为来自同一类的方法体中的引用传递:readBridgeDataVector(bGeneral,"yarpgroups",yarpGroups,numberOfYarpGroups);
。请忽略其他论点,因为它们无关紧要(我确信)。较早的片段来自此函数:
c++ - C++:与向量 push_back 相关的 Eclipse 代码检查器错误
编码:
出于某种原因,第一个 push_back 不起作用,而第二个则起作用。Eclipse 为该行给出了错误:
有人可以解释那里发生了什么吗?谢谢!
编辑:
代码实际上编译得很好。出于某种原因,Eclipse 不同意这是有效代码。
c++ - 如何获取指向 std::vector 的最后插入元素的指针?
我想出了以下片段,但它看起来很hacky。
有没有一种简单的方法来获取指向最后插入的元素的指针?
c++ - c ++不能将数据放入向量中
我有数据的数据结构和处理器类,数据堆叠没有指针以加快 SIMD 处理:
但是我实际上没有向向量添加数据集,这些都不起作用:
根据push_back 参考和C++ 向量 push_back我认为这应该很容易,但即使经过几次谷歌搜索,我也找不到任何答案。
这个项目涉及 html/javascript 中的交叉编码,每次我切换回 c++ 时,我似乎都会像这样撞到一堵墙,它开始让我紧张。
c++ - Generic Vector Push Back Template
I'm writing some code to interact with a database. My solution is to use vectors of various structs to represent each table within the database. I want to create a template inside my Database class to push_back the vector and insert a new (blank) row; however, I can't figure out what to put inside the "push_back(...)". The following kind of makes sense but isn't working. The key is being returned so that I can interact with the vector inside the class later.
I'd call the routine using the following:
the struct looks something like this:
Thanks!
c++ - 空向量与双端队列的保留时间复杂度以及是否使用 emplace 或 push_back
我正在争论哪个会更快,如果我使用数据结构在类中存储回调,我应该使用向量并在启动时保留,还是在这种情况下我应该只使用双端队列,因为订阅者的总数不知道,但会相对较小,比如 15 岁左右。我想在这两种情况下每次分配与在我的班级中预先保留命中率之间的权衡是什么。
c++ - c++ 向量中的 push_back 与 operator[] 赋值
有人可以详细解释一下为什么下面的 vectorY 代码会执行分配,但 VecY 的大小为零?此外,开始和结束迭代器卡在第一个节点。似乎保留仅适用于推回,如果您希望向量的迭代器和大小按预期工作,则需要构造具有大小的向量。我假设 push_back 正在执行某种类型的分配,而在这种情况下不是直接分配?我正在寻找解释这一点的详细信息,因此我可以确保我了解使用 reserve 和 push_back 与使用 size 元素构造然后像 VecX 示例中那样进行分配的情况。
c++ - 在 C++ 中显示字符串向量
如果这是一个重复的问题,我很抱歉,但我已经尝试寻找答案并且空手而归。所以基本上我只想将字符串(单个单词)添加到向量的后面,然后将存储的字符串显示为单个字符串。我是个菜鸟。
为什么这不起作用?
编辑
所以我的新程序有效。它只是将值放在向量的后面并将它们打印出 8 个单词到一行。我知道有更简单的方法,但我只是在学习向量,而且我会一步一步来。谢谢你们的帮助。
c++ - Push_back 不起作用
在 Visual 2010、Visual 2012 和 CodeBlocks 上尝试过,但没有成功。在过去的 3 天里,我一直在互联网上寻找答案,但没有找到任何可以帮助我的东西。
我尝试了两种方法,第一种
应该输出任何输入的第一个数字。相反,它什么也不做。如果我在输入数字序列之后或后面输入一个字母,它会打印第一个数字。
这个也试过
再次,什么都没有。我在谷歌搜索时发现了最后一个片段,它显然适用于它的创建者。
一些在线编译器告诉我,例如 1 3 4 的输出是 1。我发现一个说程序正在尝试打印一个空向量
至少有人可以尝试运行其中任何一个并告诉我它们是否有效?我将在下面包含一个完整的程序。
感谢您的时间,如果这很明显,我们深表歉意。