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