三维矢量构造器

3D vector constructor C++

本文关键字:构造器 三维      更新时间:2023-10-16

对于2d向量,我知道我可以这样写:

vector<vector<T>> vec;
vec = vector<vector<T>> (boardSize, vector<T>(boardSize));

但是对于一个3d向量我该怎么做呢?

I tried

vector<vector<vector<T>>> vec;
vec = vector<vector<vector<T>>> (boardSize, boardSize, vector<T>(boardSize));

但是它无法编译。什么好主意吗?

猜一猜:

vec = vector<vector<vector<T>>> (boardSize, vector<vector<T>>(boardSize, vector<T>(boardSize)));

这意味着,当你声明了一个vector<vector<T>>时,第二个参数应该是一个vector<T>;当您声明一个vector<vector<vector<T>>>时,第二个参数应该是一个vector<vector<T>>,它反过来应该与第一种情况一样。

也许最好不要这么做。创建一个类,提供3D矢量的接口(进行一些更改),并在内部使用单个维度矢量。