C++ C++;允许访问行和列的容器

C++ C++;允许访问行和列的容器,c++,class,matrix,C++,Class,Matrix,是否有一个简单容器的实现,在这个容器中可以从一个矩阵访问整个维度(它将有相等数量的数字作为列) 我知道没有标准的实现,但一定是有人捏造了什么 因此,我们不能只访问一个维度作为一个整体: matrix[0]; // 1 2 3 4 matrix[1]; // 1 2 3 4 matrix[0][0] // 1 我希望能够做到的是: matrix[ALL][0]; // 1 1 matrix[ALL][1]; // 2 2 澄清: 在R中,使用矩阵[,1]和矩阵[1],可以访问这两个维度,在P

是否有一个简单容器的实现,在这个容器中可以从一个矩阵访问整个维度(它将有相等数量的数字作为列)

我知道没有标准的实现,但一定是有人捏造了什么

因此,我们不能只访问一个维度作为一个整体:

matrix[0]; // 1 2 3 4
matrix[1]; // 1 2 3 4
matrix[0][0] // 1
我希望能够做到的是:

matrix[ALL][0]; // 1 1
matrix[ALL][1]; // 2 2 
澄清:

在R中,使用矩阵[,1]和矩阵[1],可以访问这两个维度,在Python中是:矩阵[,1]和矩阵[1,:]

使用向量中的向量:

vector< vector<int> > vec;
以及个别元素,例如:

vec(1)(1)

你认为你的“矩阵[ALL][0]”应该是什么样的数据类型?
valarray
slice
可能会有所帮助。最接近的结构可能是
std::vector
?@Alexandrubarbarbarasie
int[2]
{1,1}
为内容?我想我理解最终目标,但是你能用一个更具体的例子来说明
ALL
的意义吗?(今天早上我可能会放慢抽签的速度)。这是您想要访问的列吗?实际上,在这两种情况下(
vex[1][1]
),您都会使用
operator[](size\t n)
),但我认为OP并不是在问如何做到这一点。也许他/她是,但是……向量的向量通常不是这类事情的一个特别好的实现。问题确实是选择
vec(“这里的所有元素”)(1)
vec(1)(1)