今天我遇到了一些我认为不会编译的 C++ 代码:
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<vector<int>> vectorOfVectors = { { 2, 3, 5 }, { 1, 2, 3 } };
sort(vectorOfVectors.begin(), vectorOfVectors.end());
return 0;
}
Run Code Online (Sandbox Code Playgroud)
据我所知,C++ 中没有用于整数向量的默认比较器,因此必须实现自定义比较器或 lambda 函数才能将其传递给 sort() 函数。
然而,这段代码编译的事实让我想问这个问题;是否有整数向量的默认比较器?有没有花车、双打等的?还是编译器会自动生成?需要注意的是,这种对向量的向量进行排序的方式在网上是找不到的。
提前致谢!