2D向量与1D矢量
2D vector vs 1D vector
在C 11中,在时间上如何对1D向量的2D向量?
在给定的2D矢量中,所有内部向量均具有相同的大小。
ex:
std::vector<std::vector<int>> X{10, std::vector<int>(4)};
vs
std::vector<int> Y(40);
随机访问元素时,矢量的哪个头像会表现更好?
单个std::vector
本质上更简单,它只是存储在某个地方的内存的连续块。
std::vector
的std::vector
具有更多的开销,但也更强大(因为每个内部向量的大小可能不同)。
随机访问性能应针对您的特定使用模式进行彻底的基准测试,但主要区别在于:
- 使用单个向量,您只需计算
size_t index = x + y*WIDTH
并访问元素 - 使用嵌套向量,您有两个间接级别,首先必须获得包含内部向量的内存,然后您必须获得内部向量数据的内存。
相关文章:
- 1d 智能指针不适用于语法 (*)++
- 分段故障(堆芯转储)矢量
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 将二维矢量传递给类
- 读取文件并输入到矢量中
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 从 2 个 1D 矢量创建 2D 矢量
- 我们如何以 2D 矢量的形式访问此 1D 矢量
- 如何在C++中将 2d 矢量转换为 1d 数组?
- 2D向量与1D矢量
- 检查C++中1D矢量的零元素数
- 在C++中将1D矢量转换为2D矢量
- 从 HDF5 文件读取:将 3D 数据转换为内存中的 1D 矢量
- 视觉 将 1D 数组转换为 2D 矢量 c++
- 丢弃 2D 矩阵中的第一行和第一列 - 对扁平的 1D 矢量重复相同的操作
- 1D 矢量 - 3D 索引
- 将1D矢量作为行推入2D矢量阵列
- 将1D矢量转换为2D矢量
- 将1D矢量插入2D矢量而不创建Temp 1D矢量