let*_*ite 1 c++ stl vector c++11
在C++ 11中,2D矢量在时间方面如何对抗1D向量?
在给定的2D矢量中,所有内部矢量具有相同的大小.
例如:
std::vector<std::vector<int>> X{10, std::vector<int>(4)};
Run Code Online (Sandbox Code Playgroud)
VS
std::vector<int> Y(40);
Run Code Online (Sandbox Code Playgroud)
当随机访问元素时,矢量的哪个化身会表现得更好?
单个std::vector本质上更简单,它只是存储在某处的连续内存块.
甲std::vector的std::vector有更多的额外开销,但它也更强大的(因为每个内载体可以是不同的尺寸,例如).
随机访问性能应根据您的特定使用模式进行彻底基准测试,但主要区别在于:
size_t index = x + y*WIDTH并访问该元素