以下代码:
#include <iostream>
#include <type_traits>
struct MyStruct {
int a{1};
int b{0};
}ms;
int main() {
auto &[v, u] = ms;
std::cout << std::is_same<decltype(v), int>::value << std::endl;
std::cout << std::is_same<decltype(v), int&>::value << std::endl;
}
在gcc version = 11.2的输出如下:
1
0
让人诧异,这样绑定之后,是否可以看作真正意义上别名了?