0

嘿,我对创建一个二维字符向量感到好奇,所以我知道它是向量中的一个向量,我想将所有值初始化为“,”。

所以我知道这么多我相信

vector<vector<char>> spaceStation();

我猜列和行放在括号中,但我不确定。

谢谢!

4

1 回答 1

1

如果它将是您正在寻找的 nxn 或 nxm 2D 矩阵,其中 n 和 m 可以在创建矩阵之前确定(即使它在运行时),那么向量的向量可能不是最有效的方法去做吧。在内部,vector 增长的方式是在当前分配的空间被填满时分配更大的内存,并将所有现有数据移动到新位置。类似地,插入新的第一行将需要所有向量向下移动,这反过来又会导致向下复制所有其他向量及其元素。

如果您知道 n,m,即使它是在运行时,您也可以使用单个向量(大小为 n^2 或 nxm)分配一大块内存,并在逻辑上作为向量访问元素(a[i][j]将是 vector[i*n + j]) 从而有效地管理单个内存块。

于 2013-09-26T03:23:06.727 回答