int N = 6;
vector< vector<int> > A(N, vector<int>(3));
/* Do operation with A */
cout<<(*max_element(a.begin(),a.end()))[2]<<endl;
Run Code Online (Sandbox Code Playgroud)
我不确定max_element这里做了什么.任何人都可以帮助理解这个吗?
词典比较(因为元素是向量),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;
Run Code Online (Sandbox Code Playgroud)