Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
双下标([i][j])是什么意思? 我知道这是一个非常模糊的问题,可能是措辞很糟糕,但我是C++初学者,并且一直在看这个(顺便说一下,我抄袭了某人的帖子):< /P> if(内容[i].size()>=5){ 对于(unsigned int j=3;j_C++ - Fatal编程技术网

双下标([i][j])是什么意思? 我知道这是一个非常模糊的问题,可能是措辞很糟糕,但我是C++初学者,并且一直在看这个(顺便说一下,我抄袭了某人的帖子):< /P> if(内容[i].size()>=5){ 对于(unsigned int j=3;j

双下标([i][j])是什么意思? 我知道这是一个非常模糊的问题,可能是措辞很糟糕,但我是C++初学者,并且一直在看这个(顺便说一下,我抄袭了某人的帖子):< /P> if(内容[i].size()>=5){ 对于(unsigned int j=3;j,c++,C++,当您使用1d数组时,您可以使用[i]访问第i个元素 当您有一个2d数组,即一个矩阵时,您可以使用[i][j]访问第i行和第j列中的元素内容最有可能存储一个2d数组:一个数组数组(可能std::vector,谢谢@owacorder的评论) contents[i]访问i的contents数组,它本身是一个std::vector,然后contents[i][j]访问i数组中存储在contents中的i元素。您有一个二维数组,因此需要一个(宽度,高度)坐标以访问其中的每个元素 通常,contents[

当您使用1d数组时,您可以使用
[i]
访问第i个元素


当您有一个2d数组,即一个矩阵时,您可以使用
[i][j]
访问第i行和第j列中的元素
内容
最有可能存储一个2d数组:一个数组数组(可能
std::vector
,谢谢@owacorder的评论)


contents[i]
访问
i
contents
数组,它本身是一个
std::vector
,然后
contents[i][j]
访问
i
数组中存储在
contents
中的
i
元素。您有一个二维数组,因此需要一个(宽度,高度)坐标以访问其中的每个元素


通常,
contents[i]
表示容器(如数组)的第i个元素,但它可以表示设计者希望它表示的任何含义。如果您编写自己的类,您可以编写
操作符[]
让该类做任何你想做的事情——如果你让它做任何事情而不是返回对容器第i个元素的引用,那么必须处理你的代码的人会诅咒你的名字

因此
contents[i][j]
表示
内容第i个元素的第j个元素。例如,
contents
可能是
int
数组的数组(通常称为二维数组),或是一个
mYClass
数组的
vector
,或是一个
myContainer
vector
,或是一个
myOtherContainer`.

myContainer
数组的
vector
,实际上是两个单下标。第二个下标应用于第一个下标返回的任何对象

因此,对于
内容[i][j]
我们有:

contents; // object taking subscript (array, vector etc...)
如果我们为该对象下标以访问其内容,则会得到另一个也带有下标的对象:

contents[i]; // another object taking subscript
因此,您通常会发现“双下标”应用于包含向量原样元素的向量

// a vector that contains vectors that each contain doubles
std::vector<std::vector<double>> contents;

用于二维数据建模。

查找二维数组。
内容的元素有member
size()
,因此我想说它是
std::vector
或类似的。我没有否决,但OP的示例不一定是二维数组(可能不是,因为它有
size()
),2d数组不一定是矩阵。虽然OP没有2d数组。
// a vector that contains vectors that each contain doubles
std::vector<std::vector<double>> contents;
contents; // returns a vector of vectors to doubles
contents[i]; // returns a vector of doubles
contents[i][j]; // returns a double