如何在C++中创建一个2D向量
并找到它的长度
和坐标
?
在这种情况下,向量元素如何填充值?
谢谢。
如何在C++中创建一个2D向量
并找到它的长度
和坐标
?
在这种情况下,向量元素如何填充值?
谢谢。
std::vector
,则需要执行以下操作:std::vector<std::vector<double> > matrix;
matrix.resize(10);
matrix[0].resize(20);
// etc
您有多种选择。最简单的是使用基本的二维数组:
int *mat = new int[width * height];
要填充特定值,您可以使用std::fill()
:
std::fill(mat, mat + width * height, 42);
要填充任意值,请使用std::generate()
或std::generate_n()
:
int fn() { return std::rand(); }
// ...
std::generate(mat, mat + width * height, fn);
在使用完数组后,您需要记得删除
它:
delete[] mat;
struct matrix {
matrix(int w, int h);
matrix(const matrix& m);
matrix& operator=(const matrix& m);
void swap(const matrix& m);
~matrix();
};
// ...
matrix mat(width, height);
boost::multi_array
。该库与多维数组相关,可帮助您更轻松地管理和操作数据。class Vector2d
{
public:
// basic math (length: pythagorean theorem, coordinates: you are storing those)
private: float x,y;
};
或者使用像Eigen这样定义了Vector2f的库。