push-back相关内容

C++ std::string 追加 vs push_back()

这确实是一个仅出于我自己的兴趣的问题,我无法通过文档确定. 我在 http://www.cplusplus.com/reference/string/string/ 上看到append 具有复杂性: “未指定,但通常在新字符串长度中达到线性." 而 push_back() 具有复杂性: “未指定;一般为摊销常数,但在新字符串长度上可达线性." 作为一个玩具示例,假设我 ..
发布时间:2022-01-22 11:37:12 C/C++开发

vector.size() 的 GDB 值错误

一个简单的 vector.push_back() 会导致我的代码出现一些错误: #include 使用命名空间标准;int main(int argc, const char *argv[]){向量堆;stack.push_back(1);stack.push_back(1);//stack.size() 之后变成 467369971stack.push_back(1) ..
发布时间:2022-01-20 20:28:46 C/C++开发

为什么 emplace_back 比 push_back 快?

我认为 emplace_back 会是赢家,当做这样的事情时: v.push_back(myClass(arg1, arg2)); 因为 emplace_back 会立即在向量中构造对象,而 push_back 会先构造一个匿名对象,然后将其复制到向量中.如需了解详情,请参阅这个问题. Google 还提供了这个和这个问题. 我决定将它们与一个由整数填充的向量进行比较. 这是 ..
发布时间:2022-01-07 11:31:10 C/C++开发

当 push_back 新元素到 std::vector 时,C++ 引用发生变化

我不知道该怎么做 - 请告诉我下面的代码有什么问题.我修改了我的代码以将其简化为最简单的术语.有一个带有一堆 MyNode 对象的 std::vector.第一步是获取对这些节点之一的数据元素之一的常量引用(Data m_data) - 在下面的示例中,在插入第二个节点之前只有一个节点,如下所示: const cv::Data&currData = m_nodesVector[currIndex ..
发布时间:2022-01-05 12:05:04 C/C++开发

在 vector::push_back 内存明智的引擎盖下会发生什么?

我的问题是关于 vector::push_back 的效果,我知道它在矢量的末尾添加了一个元素,但在引擎盖下会发生什么? IIRC 内存对象是按顺序分配的,所以我的问题是 vector::push_back 是否只是在向量之后立即分配更多内存,如果是这样,如果没有足够的空闲内存会发生什么在那个位置?或者也许在“结束"中添加了一个指针以使向量“跳"到它继续的位置?或者它只是通过将其复制到另一个 ..
发布时间:2021-12-21 13:53:44 C/C++开发

std::vector push_back 导致访问冲突

故事:我正在制作一个共享库,将 C 代码作为包装器暴露给在 VS 2008 中编译的 C++ 静态库,因此我与该编译器相关联.在我的库中,我正在尝试编写一个非常简单的字典来通过共享库边界传递数据.我不会传递实际的字典,只会传递处理程序并提供访问其成员的函数.字典只是键值对的 std::vector. 问题: 每次我尝试将键值对推回字典时,我的程序都会崩溃.这是一个独立的演示代码(一个新的 W ..

如何创建 emplace_back 方法?

我正在创建一个自定义的 ArrayList/Vector 类,但在创建 emplace_back 函数时遇到了麻烦.如何创建与 ArrayList 的“value_type 类"的构造函数相同的参数? 解决方案 emplace_back 和类似的函数(std::make_shared 等)不需要知道什么关于他们试图构建的 value_type.这要归功于 C++11 中引入的参数包.> ..
发布时间:2021-11-18 00:46:53 C/C++开发

C++ std::string append vs push_back()

这确实是一个出于我个人兴趣的问题,我无法通过文档确定. 我在 http://www.cplusplus.com/reference/string/string/ 上看到append 具有复杂性: “未指定,但通常在新的字符串长度中为线性." 而 push_back() 具有复杂性: “未指定;通常摊销常量,但在新字符串长度中最多为线性." 作为一个玩具示例,假设我想将 ..
发布时间:2021-11-16 19:32:40 C/C++开发

类对象和动态内存分配的 C++ 向量

这是我想要做的简化版本,它在调用 push_back 时崩溃,特别是在调用析构函数时.如果我删除析构函数的主体,它可以工作,但我想确保它被删除.我尝试使用 new/delete 代替 calloc/free,结果相同.我在这里做错了什么? #include #include 使用命名空间标准;类缓冲区{民众:浮动*数据;Buffer(int length) {DATA = (float*) ca ..
发布时间:2021-09-17 19:13:45 C/C++开发

将变量推回向量

刚开始学习 STL,这是第一个问题: vectorvec1;for(int i = 1; i 如您所见,我想将变量 i 推回向量 vec1,但输出为: 5832900-3190081410 等等... 进程返回 0 (0x0) 执行时间:0.210 s按任意键继续. 谢谢你的一切. 解决方案 你往后推,但打印出 item[i],它是最后一个(我在你的循环中从一个开始). ..
发布时间:2021-09-17 19:12:05 C/C++开发

将数据存储在另一个类的向量中

我有一个向量 orderQueue,它存储在一个名为 OrderFood 的类中,还有一个名为 processUserOption 的函数,位于另一个名为 MerkelMain 的类中.我正在尝试使用 push_back 函数让 processUserOption 将订单存储在该 orderQueue 向量中.如何在 OrderFood 类的 orderQueue 向量中存储订单? Orde ..
发布时间:2021-09-17 19:11:02 C/C++开发

在 C++ 中显示字符串向量

如果这是一个重复的问题,我很抱歉,但我已经尝试寻找答案并且空手而归.所以基本上我只想将字符串(单个单词)添加到向量的后面,然后将存储的字符串显示为单个字符串.我是菜鸟. #include #include #include #include 使用命名空间标准;int main(int a, char* b []){向量用户字符串;串词;字符串句子 = "";for (decltype(userS ..
发布时间:2021-09-17 19:10:24 C/C++开发

在 C++ 中,向量函数 push_back 会增加空数组的大小吗?

快速提问.假设我声明了一个大小为 20 的向量.然后我想使用 push_back 向它添加几个整数. vector我的向量(20);myVector.push_back(5);myVector.push_back(14); 我的向量的容量现在是 22,还是仍然是 20?是否分别将 5 和 14 添加到索引 [19] 和 [20] 中?还是在 [0] 和 [1]? 解决方案 在这些语句之 ..
发布时间:2021-09-17 19:06:19 C/C++开发

向量 push_back 访问冲突

这可能是一个愚蠢的错误,但它让我试图修复它发疯. 我有一个结构: struct MarkerData{int pattId;无符号短骨 ID;食人魔::Matrix4 transToBone;食人魔::Vector3 翻译;食人魔::四元数方向;MarkerData(int p_id, unsigned short b_id, Ogre::Matrix4 trans){pattId = p ..
发布时间:2021-08-30 19:20:49 C/C++开发

超速矢量 push_back

当无法预测容量时,我正在尝试加速 vector::push_back 当保留可用时,向量 push_back 在容器的末尾写入新元素,然后移动结束标记.使用完所有reserve后,push_back可能会触发重新分配,这是一个缓慢的过程. 为了加快速度,为几个即将到来的 push_back 重新生成预留,而不会在空时重新分配.您认为此代码如何帮助实现该目标? #ifndef __VECT ..
发布时间:2021-08-30 19:14:10 C/C++开发

std::vector push_back 导致访问冲突

故事:我正在制作一个共享库,将 C 代码作为包装器暴露给在 VS 2008 中编译的 C++ 静态库,因此我与该编译器相关联.在我的库中,我正在尝试编写一个非常简单的字典来通过共享库边界传递数据.我不会传递实际的字典,只会传递处理程序并提供访问其成员的函数.字典只是键值对的 std::vector. 问题: 每次我尝试将键值对推回字典时,我的程序都会崩溃.这是一个独立的演示代码(一个新的 W ..