嘿,我对创建一个二维字符向量感到好奇,所以我知道它是向量中的一个向量,我想将所有值初始化为“,”。
所以我知道这么多我相信
vector<vector<char>> spaceStation();
我猜列和行放在括号中,但我不确定。
谢谢!
如果它将是您正在寻找的 nxn 或 nxm 2D 矩阵,其中 n 和 m 可以在创建矩阵之前确定(即使它在运行时),那么向量的向量可能不是最有效的方法去做吧。在内部,vector 增长的方式是在当前分配的空间被填满时分配更大的内存,并将所有现有数据移动到新位置。类似地,插入新的第一行将需要所有向量向下移动,这反过来又会导致向下复制所有其他向量及其元素。
如果您知道 n,m,即使它是在运行时,您也可以使用单个向量(大小为 n^2 或 nxm)分配一大块内存,并在逻辑上作为向量访问元素(a[i][j]将是 vector[i*n + j]) 从而有效地管理单个内存块。