问题标签 [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 投票
3 回答
10593 浏览

c++ - 访问数组是否比访问向量快?

可能的重复:
在 C++ 中使用数组或 std::vectors,性能差距是什么?
std::vector 比普通数组慢得多?

memory 是 1000 个元素的向量 array[] 是 1000 个元素的整数数组

如果我在运行 100 次迭代后比较 for 循环的时间,访问所需的时间与 vector 相比非常小

为什么会这样?因为我认为两者都需要恒定且几乎相同的时间..

0 投票
6 回答
18089 浏览

c++ - 如何转换矢量诠释?

我已经vector<unsigned char>提交了二进制数据。我需要从向量(2 个字节)中取出 2 个项目并将其转换为整数。这怎么能不以 C 风格完成?

0 投票
5 回答
2891 浏览

c++ - 类和结构的高效 push_back

我经常看到我的同事做第二个片段。为什么是这样?我尝试添加打印语句来跟踪 ctors 和 dtors,但两者看起来相同。

PS。如果标题具有误导性,我很抱歉。

编辑:

首先,感谢大家的回复。

我已经使用std::move. 结果让我感到惊讶,也许是因为我做错了什么……有人请解释一下为什么“快速”路径的表现要好得多。

输出:

0 投票
4 回答
2162 浏览

c++ - 带有结构元素的 std::vector 的大小

我无法使用 struct 元素获得正确大小的向量。元素类是这样定义的(我没有省略任何细节,尽管我认为唯一相关的事实是它是一个包含一个 int 和两个双精度值的类):

然后在一个函数中我有这个代码:

我得到的 s1 的值是 15,而 s2 是正确的值 10。这是怎么回事?size() 不应该准确返回元素的数量吗?它不应该与 arr.end() - arr.begin() 相同吗?

任何回应和评论表示赞赏。

0 投票
4 回答
5230 浏览

c++ - 如何计算两个 size_t 变量的最大值

我的代码中有这个。

我得到这个错误:

我的理解是这size_t是一个无符号整数。那么为什么这是一个问题,我该如何解决它。

编译:

0 投票
1 回答
79 浏览

c++ - 如何创建地图并在 exp_tag 和 lhs 之间迭代以按排序顺序打印它们?

0 投票
4 回答
7036 浏览

c++ - 访问 std::map 键和值

您如何访问 anstd::vector的键或值std::map

谢谢。

编辑:我想访问实际元素,而不仅仅是其内容的副本。本质上我想要一个参考,而不是副本。

这基本上是我想要做的:

0 投票
1 回答
1769 浏览

c++ - std::vector 中止问题

我在下面的示例中遇到了困难,最后一行产生了“已调用中止”错误。我不明白为什么会这样。

在这种情况下,为了清楚起见,我使用 (*abc).def 而不是 abc->def。

0 投票
4 回答
147301 浏览

c++ - 使用数组向量的正确方法

有人可以告诉使用数组向量的正确方法是什么吗?

我声明了一个数组向量 ( vector<float[4]>) 但error: conversion from 'int' to non-scalar type 'float [4]' requested在尝试时得到了resize它。出了什么问题?

0 投票
5 回答
304 浏览

c++ - 关于填充向量的不同方法

我能想到三种填表的方法std::vector

假设我们有

然后我希望它保持 (1, 1, 1)。我们可以做的:

或者

我学到了另一种方法:

第一个问题是:它们中的任何一个是最好的方法吗?

第二个问题:假设v是在主函数之外声明的。根据this answer,内存将分配在数据段中。如果我使用第二种或第三种方法,内存会分配在堆栈上吗?