c++ - 如何创建具有固定列长和动态行长的二维向量?
问题描述
我有一个 char 类型的二维向量,如下所示:
std::vector< std::vector<char> > Input_Vector ;
我希望行数是未知的,列数是固定的。因此,每行向量将包含 3 个单元格。
解决方案
鉴于您知道每行总是有 3 个单元格,您可以将std::array<char, 3>
其用作元素类型。std::array
可以像常规向量一样被索引,但在内部它只是一个 c 样式的数组。这意味着使用它没有开销,并且与向量向量相比,它也将具有更好的缓存局部性。
它也可以用初始化列表之类的结构来创建!
std::vector<std::array<char, 3>> vect;
vect.push_back({'a', 'b', 'c'}); // This works
char c = vect[0][2]; // gets 'c'
推荐阅读
- python - np.divide 制作整个向量 Nan
- docker - 无法通过 Docker 驱动程序在 Minikube 上使用 GPU
- c# - 如何在Datatable Asp.net Core 2.0 中应用skip and take
- python - Python3:将路径转换为文件夹列表和可能的文件
- php - 两台物理PC之间的json_decode差异
- html - 使用 kable 和 kableExtra 使表格行跨越多个列
- javascript - 根据值将单元格拆分为列
- java - 如何使用 Spock 和 Groovy 在 Spring Batch 应用程序中模拟 ItemReader
- java - java.lang.ClassNotFoundException:找不到类“org.bouncycastle.jce.provider.X509CertParser”
- r - 如何计算R中的转移概率