二维数组在 c++ 11 中的扩展
Expansion of two-dimensional array in c++ 11
我有一个问题。如果我读取了 txt 文件如下:
12.5,14.8,17.4
21.6,25.9,32.4
27.8,36.2,45.1
23.8,28.6,40.5
我读取要存储在2 x 3
的二维数组中的值
如何使用 C++11 写入
我原本2 x 3
二维数组可以增长到4 x 3
数组
如何编写数组可以增加行数
当我最初阵列已满时
数据值在新的、更大的数组中是完整的
谢谢
根据 http://www.cplusplus.com/articles/EzywvCM9/
"C++11 提供了 std::array,其目的是取代 C 数组。它是动态大小的 std::vector 的固定大小、轻量级的替代品。
强调"固定大小"。 所以我想,你必须创建一个更大的数组并将条目复制到新数组中。
更多详情请点击此处 http://en.cppreference.com/w/cpp/container/array
使用新大小重新声明数组并复制数据,或使用 std::vector
如果数组的大小发生变化,请不要使用数组。请改用std::vector
,它可以动态增长。如果是二维数据结构,请使用向量向量。在 C++11 的伪代码中:
using namespace std;
vector<vector<double> > data;
vector<double> dataLine;
vector<double>* readDataLine(istream file) {
vector<double>* line = new vector<double>;
for (each row...) {
double value;
file >> value;
line->append(value);
}
return line;
}
void readFile() {
for (each line...) {
vector<double>* line = readLine(someFileStream)
data.append(line);
}
// access a single element like in an array:
double element = data[lineNo][rowNo];
}
相关文章:
- 是否可以通过C++扩展强制多个python进程共享同一内存
- static_assert在宏中,但也可以扩展到可以用作函数参数的东西
- 如何将这个C++哈希表转换为动态扩展和收缩,而不是使用硬设置的最大值
- 扩展光电二极管探测器以支持多个传感器
- C++中的VLA,扩展名为std=C++11
- OpenGL 和 GLM 矩阵无法正确扩展,总是按比例缩小
- 基于范围的 for 循环:迭代使用一个元素扩展的向量
- C++返回 Numpy 数组的 Python 扩展模块
- 扩展可变参数模板中的变量名称
- 扩展C++生成的代码的模板参数类型名称
- 我想通过带有C++和Python的插件创建一个可扩展的应用程序
- VSCode IntelliSense无法识别SDL框架的SDL_image扩展库
- 将元组类型扩展为可变参数模板?
- 如何按文件扩展名引用文件夹中的文件
- HDF5Cpp 扩展复合数据集超板问题
- MSVC中的宏观扩展问题
- 嵌套参数包扩展失败
- C4204:使用的非标准扩展:非常量聚合初始值设定项
- [temp.variadic]中关于包扩展实例化的措辞
- 我应该包含什么来制作 boost.python 扩展?