问题标签 [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++ - 如何一次将多个整数传递给一个向量?
目前当我必须vector.push_back()
多次使用时。
我目前使用的代码是
有没有办法只使用vector.push_back()
一次并将多个值传递给向量?
c++ - 将指针推送到 C++ 向量中并进行清理
我正在不同系统之间转换一些代码,并且我有一个关于 c++ 向量的问题。
如果我做这样的事情:
在头文件中:
在 c++ 文件中的例程中:
我会遇到麻烦吗?我的假设是该向量将包含一个指向数据的指针,一旦我对其调用删除,该指针将不再有效。我是否需要为Vertex编写一个复制构造函数以便首先复制数据?
额外的:
问题更多与如何将指向已分配内存的指针放入 std::vector<> 并仍然清理本地分配的数据有关。本质上,我如何将数据复制到向量中,以便我仍然可以清理我的副本。
原始代码在 DirectX 中。我正在将它移植到 iPhone 上。原始代码在例程中本地分配了一个子网格,使用:
我试图复制 ID3DXMesh 如何能够添加到向量中,然后在例程中失去它的范围。
由于我无法访问 D3DXCreateMesh(),我想我只需分配我需要的顶点,将它们放入向量中,然后进行清理。
抱歉,我想保留细节,因为问题只是我如何分配一块数据,将指针放入 std::vector<>,然后清理本地分配的内存。:)
我假设必须在某处编写一个复制构造函数。只是不确定在哪里或如何。
子网格如下所示:
他们添加到的向量看起来像:
c++ - push_back 不向向量 c++ 添加数字
我正在尝试调试我的mergesort程序,当我尝试使用“push_back”将向量“left”或“right”中的值添加到“mergedList”时,这似乎在“merge”函数内部的某个地方存在问题。以下是gdb调试会话的摘录(下面是我的完整程序代码)
这发生在第一次调用合并时;我能够使用“print left[0]”访问“vector left”的值,我得到了一个我期望的值(向量“left”中的所有数字都在 1-50000 之间),但是在执行行之后i = 0 时的代码:
“mergedList.push_back(left[i]);” 然后使用调试器打印mergedList[0],似乎添加left[0]不成功。
我误解了 push_back 吗?还是向量?抱歉,如果我的问题不清楚 - 请让我知道如何改进它!
GDB 调试会话:
c++ - C++ 中向量推回操作的类型转换
我有两个向量
在某些时候,我需要从一个堆栈中弹出一些元素并将其推入另一个堆栈。
但是,eclipse 会抛出一个错误,无效的参数。但是当我输入强制转换输入时工作正常。
现在,为什么需要这种类型转换?我正在阅读(主要是在 C++ Primer 中)根据 C++11 需要避免类型转换。
c++ - 向量 push_back 导致未处理的异常
一切正常,直到编译器尝试执行 push_back 操作。在 if 条件中返回正确的值。
我已将项目声明为:
//在.cpp文件中
弹出以下错误:
PS:我还有一个使用 push_back 操作的功能,它工作正常。
谁能帮我这个?
即使这给出了同样的错误:
c++ - 矢量.push_back
我正在编写一个从给定格式的数据文件中读取的应用程序。在文件中,我动态地创建了一个指向向量对象的二维指针数组。基本上,它通读文件,当它找到给定的字符串模式时,它会停止并读取
现在,pushBack 是一个很大的数字,可能高达 20000,但它因文件而异。
这段代码的问题是我没有收到任何运行时错误,甚至没有抛出任何异常,我试图捕捉它们。程序简单结束!可以肯定的是,我添加了cout << "position1" << endl;
andcout << "position2" << endl;
行和后面的打印。
如果你没有猜到:
tempTestString
和ACCEL
- 字符串对象
sstream
- 字符串流对象
array
- 动态内存中的二维结构数组
vectorName
- 指向向量对象的指针,指向的结构成员array
附录:
因此,作为对一些评论的回应,这里是代码的另一部分,其中创建了所有变量:
大批
结构名称
tempDim1 和 tempDim2 分别const ints
为 2 和 3。pushBack 的值最大为 20000
c++ - C++ push_back vs Insert vs emplace
我目前正在使用带有 C++ 的向量制作应用程序。
我知道预优化是万恶之源。
但我真的忍不住好奇。
我正在将其他向量的一部分添加到另一个向量中。
我们会说向量的大小永远不会改变 300。
因为我总是附加到向量的末尾
这样做是否更快:
a.reserve(300);
a.insert(a.end(), b.begin(), b.end());
或者循环遍历我想要附加的向量并使用push_back
or单独添加每个项目(同时仍然预先保留)会更快吗emplace
?(不确定哪个更快)
任何人都可以帮助我吗?
c++ - C++ std::string 追加 vs push_back()
这确实是一个仅出于我自己利益的问题,我无法通过文档确定。
我在http://www.cplusplus.com/reference/string/string/上看到 append 具有复杂性:
“未指定,但通常在新字符串长度中达到线性。”
而 push_back() 具有复杂性:
“未指定;通常为摊销常数,但在新字符串长度中达到线性。”
作为一个玩具示例,假设我想将字符“foo”附加到字符串中。将
和
完全一样吗?或者有什么不同吗?您可能认为 append 会更有效,因为编译器会知道将字符串扩展指定的字符数需要多少内存,而 push_back 可能需要在每次调用时保护内存?
c++ - 使用 std::list 的段错误
我是使用 C++ 的 Java 用户,我很难理解这句话出了什么问题。我的程序在我放置push_back
命令的任何地方都出现了段错误。所以我想知道到底发生了什么。
这是完整的代码:
c++ - 推回地图容器
我们得到了这张地图:
此函数是否与 Vector 的 push_back 函数相同:
由于 size 返回容器的大小,我认为它是正确的,根据以下情况它是: index 0 = 200 index 1 = 150 你想推回 100,values.size() 将返回 2,对吗?那么,它会像正常的 push_back 一样进入索引 2,对吗?