以下代码段隐式转换 std::array a std::tuple :
std::array
std::tuple
std::array<int,3> arr = {2,4,6}; std::tuple<int,int,int> tup; tup = arr; // c++23 or later
任务 tup = arr 无法用C++20编译,但可以用C++23编译。C++23的哪个特性/规则使这成为可能?我在功能列表中没有认出这一点,例如维基百科或cppreference.com中给出的。
tup = arr
这是 P2165R4: Compatibility between tuple , pair and tuple-like objects .
tuple
pair
tuple-like