相关疑难解决方法(0)

关于捕获实体的 decltype(),哪个编译器符合 ISO 标准?

#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}\n
Run Code Online (Sandbox Code Playgroud)\n

以下输出是c++17标准的结果

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
海湾合作委员会微软
001001010
110101101
\n
\n

或者所有的编译器都是错误的\xef\xbc\x9f

\n

c++ lambda decltype language-lawyer c++17

3
推荐指数
1
解决办法
114
查看次数

标签 统计

c++ ×1

c++17 ×1

decltype ×1

lambda ×1

language-lawyer ×1