二維數組有時候被用到,但是很少有人會使用vector來構造一個二維數組。
首先,需要明確的是,在計算機的世界中,根本不存在二維數組,只是使用者的一個概念罷了。其實我們所謂的二維數組也必須是一段連續的內存。
很多情況下,我們可以把常規的二維數組用一個vector表示,只要索引對應即可。
那麼,我若一意孤行呢,我就想vector裡面放一個vector呢?
#include
#include
using namespace std;
int main()
{
vector > array(3);
for (int i = 0; i <3; i++)
array[i].resize(3);
for (int i = 0; i <3; i++)
for (int j = 0; j <3; j++)
array[i][j] = (i*j);
for (int i = 0; i <3; i++)
{
for (int j = 0; j <3; j++)
cout <
就是再使用“列”的時候,需要使用vector的resize方法,否則不能使用[]進行訪問的。
這裡也不能用vector的reserve分配容量,原因上一篇博客已經分析過了。
其實我想說的就是,如果想要構建所謂的二維數組,最重要的就是要使用resize分配容量。