int N = 6;
vector< vector<int> > A(N, vector<int>(3));
/* Do operation with A */
cout<<(*max_element(a.begin(),a.end()))[2]<<endl;
我不确定max_element
在这里做了什么。任何人都可以帮助理解这个吗?
答案 0 :(得分:5)
词典比较(因为元素是向量),max_element
找到向量a
中的最大元素。它返回一个立即取消引用的迭代器,给出对该元素的引用。然后它调用调用operator[]
,返回索引2处的元素,该元素最终流式传输到cout
。
一个不那么简洁的等价物是:
auto it = max_element(a.begin(), a.end());
int i = (*it)[2]; // better make sure the vector has at least 3 elements!
cout << i;