#include <iostream>\n#include <type_traits>\n\nint main(){\n\n int i = 1;\n int& j = i;\n\n auto f2 = [j = j]() {\n std::cout\n << std::is_same_v<decltype(j), int&>\n << std::is_same_v<decltype((j)), int&>\n << std::is_same_v<decltype((j)), const int&>;\n };\n \n auto f3 = [=]() {\n std::cout\n << std::is_same_v<decltype(j), int&>\n << std::is_same_v<decltype((j)), int&>\n << std::is_same_v<decltype((j)), const int&>;\n };\n\n f2();\n f3();\n}\nRun Code Online (Sandbox Code Playgroud)\n以下输出是c++17标准的结果
\n| 海湾合作委员会 | 铛 | 微软 |
|---|---|---|
| 001 | 001 | 010 |
| 110 | 101 | 101 |
或者所有的编译器都是错误的\xef\xbc\x9f
\n