我需要动态分配大小在运行时给出的一维和二维数组。
我设法“发现”了 std::vector
我认为它符合我的目的,但我想问一下我写的内容是否正确和/或可以改进。
这就是我正在做的事情:
#include <vector>
typedef std::vector< std::vector<double> > matrix;
//... various code and other stuff
std::vector<double> *name = new std::vector<double> (size);
matrix *name2 = new matrix(sizeX, std::vector<double>(sizeY));
原文由 Federico 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如您所发现的,当您在运行时给出维度时,需要动态分配数组。
然而,
std::vector
已经是这个过程的 _包装_,所以动态分配向量就像双重肯定。这是多余的。只需编写 (C++98):
或(C++11 及更高版本):