C++ 结构化绑定声明 auto [...]
pair<int, int> generate() {
return {1, 2};
}
auto [a, b] = generate();
// a=1, b=2
在刷算法题时遇到这种写法,这种语法称为 “结构化绑定声明”(Structured binding declaration)
右值可以是数组(普通数组或std::array)、pair、tuple甚至一个struct类型,但是注意必须是要能在编译期间就确定长度的类型。
这应该是C++17引入的新语法,C++11目前应该还不支持。
具体可参考:https://en.cppreference.com/w/cpp/language/structured_binding