C++之vector为什么在多维上比多维的数组读写效率慢很多
慢的原因是数据存储的局部性问题(data locality):使用二位数组Depart[500][21]的时候,所有数据在内存中是连续存放的。访问内存时,内存访问的局部性较强,Cache命中的概率较大。L1 Cache访问延迟只有几个指令周期,而内存访问延迟则达到几百个指令周期。2)Vector中的数据是连续存放的,**但是Vector本身只保存指向数据块的指针。Vector建立在栈上,保存数据的数据块在堆上。因此二位动态数组Vector <Vector>中,指向行的