std :: vector(n,std :: vector(n))或std :: vector(n * n)?

时间:2017-08-06 05:03:21

标签: c++ stl

  1. 以什么方式存储n.m矩阵更有效?要创建大小为m的n个向量的向量,或创建大小为n.m的大向量?

  2. 矢量矢量如何存储在内存中?它只包含引用/指针或整个向量吗?

1 个答案:

答案 0 :(得分:4)

  1. 使用大小为N x M的单个向量效率更高。这样所有内存都是连续的,并且只有一个指向所有内存的指针,而不是N个指针。 / p>

  2. 矢量矢量存储为指向指针数组的指针,每个指针都指向一个值数组。