Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 二维数组在c++;11_C++_C++11_Multidimensional Array - Fatal编程技术网

C++ 二维数组在c++;11

C++ 二维数组在c++;11,c++,c++11,multidimensional-array,C++,C++11,Multidimensional Array,我有个问题。 如果我读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编写 我原来2x3二维数组可以扩展到4x3数组 如何写入数组可以增加行数 当我刚满的时候 以及数据值​​在新的、更大的阵列中是完整的 谢谢重新声明具有新大小的数组并复制数据,或者根据 C++11提供std::array,其目的是替换C数组。它是一种固定大小的轻量级替代动态大小的std::

我有个问题。 如果我读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编写

我原来
2x3
二维数组可以扩展到
4x3
数组

如何写入数组可以增加行数

当我刚满的时候

以及数据值​​在新的、更大的阵列中是完整的


谢谢

重新声明具有新大小的数组并复制数据,或者根据

C++11提供std::array,其目的是替换C数组。它是一种固定大小的轻量级替代动态大小的std::vector

强调“固定尺寸”。所以我想,您必须创建一个更大的数组,并将条目复制到新数组中


此处有更多详细信息

如果数组大小发生变化,请不要使用数组。相反,使用可以动态增长的
std::vector
。对于二维数据结构,请使用向量向量。在C++11ish伪代码中:

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];
}
使用名称空间std;
矢量数据;
矢量数据线;
vector*readDataLine(istream文件){
矢量*直线=新矢量;
(每行…){
双重价值;
文件>>值;
行->附加(值);
}
回流线;
}
void readFile(){
(每行…){
vector*line=readLine(someFileStream)
数据。追加(行);
}
//访问单个元素,如数组中的元素:
双元素=数据[lineNo][rowNo];
}