C++ c++;[]带向量<;向量<;int>&燃气轮机;

C++ c++;[]带向量<;向量<;int>&燃气轮机;,c++,vector,C++,Vector,我在访问向量中包含的最后一个向量的元素时遇到问题 std::vector<std::vector<int>> vec1 = {{1,2,3}, {1,2,3}, {1,2,3}, {1,2,3}}. 向量vec1={{1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3}。 如何获取vec1最后一个元素的第二个元素? 我尝试: vec1.[vec1.end()-1][1] vec1.[vec1.at(vec1.end())-1][1] 当有两

我在访问向量中包含的最后一个向量的元素时遇到问题

std::vector<std::vector<int>> vec1 = {{1,2,3}, {1,2,3}, {1,2,3}, {1,2,3}}.
向量vec1={{1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3}。 如何获取
vec1
最后一个元素的第二个元素?
我尝试:

  • vec1.[vec1.end()-1][1]
  • vec1.[vec1.at(vec1.end())-1][1]
当有两个维度时,我如何使用at


请解释
[]
.at()

的用法,使用
返回
,您只需执行以下操作:

vec1.back()[1];
而不是
vec1。[vec1.size()-1][1]

或者甚至是迭代器方式:

(*(vec1.end() - 1))[1]; // or (vec1.end() - 1)->at(1);
请解释
[]
.at()
的用法

at
执行绑定检查,与
运算符[]
返回相反

因此,对于绑定检查,请使用
at
代替上述选项:

vec1.at(vec1.size() - 1).at(1); // std::out_of_range thrown is case of out of bound access.

使用
back
,您只需执行以下操作:

vec1.back()[1];
而不是
vec1。[vec1.size()-1][1]

或者甚至是迭代器方式:

(*(vec1.end() - 1))[1]; // or (vec1.end() - 1)->at(1);
请解释
[]
.at()
的用法

at
执行绑定检查,与
运算符[]
返回相反

因此,对于绑定检查,请使用
at
代替上述选项:

vec1.at(vec1.size() - 1).at(1); // std::out_of_range thrown is case of out of bound access.
void测试()
{
向量vec1={{1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3};
int last_sec=*(++(-vec1.end())->begin());
}
要访问vec1最后一个元素的第二个元素,可以使用--end()获取vec1的最后一个迭代器,++(it->begin())返回该元素的第二个迭代器,然后取消引用以获取该元素

返回类型&无绑定检查。
返回对指定位置处元素的引用,并进行边界检查

void测试()
{
向量vec1={{1,2,3},{1,2,3},{1,2,3},{1,2,3},{1,2,3};
int last_sec=*(++(-vec1.end())->begin());
}
要访问vec1最后一个元素的第二个元素,可以使用--end()获取vec1的最后一个迭代器,++(it->begin())返回该元素的第二个迭代器,然后取消引用以获取该元素

返回类型&无绑定检查。

返回对指定位置处元素的引用,并进行边界检查

at()操作符检查向量边界,正如向量文档所解释的。
begin
end
函数返回迭代器而不是索引。迭代器不能用作索引。更不用说使用成员访问操作符
访问重载的
[]
操作符,这是错误的。在我看来,你可以用。从开始。
at
在索引超出范围时抛出
超出范围
异常
[]
没有。要将at运算符与二维向量一起使用,可以调用vec1.at(2)。例如,
vec1.size()-1
就是您想要的。这是最后一个vec1项的索引。at()运算符按照向量文档的说明检查向量边界。
begin
end
函数返回迭代器而不是索引。迭代器不能用作索引。更不用说使用成员访问操作符
访问重载的
[]
操作符,这是错误的。在我看来,你可以用。从开始。
at
在索引超出范围时抛出
超出范围
异常
[]
没有。要将at运算符与二维向量一起使用,可以调用vec1.at(2)。例如,
vec1.size()-1
就是您想要的。这是最后一个vec1条目的索引。