Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <tuple>
- #include <type_traits>
- struct Ag{int i;int j;};
- using T = std::tuple<int,int>;
- using Ar = int[2];
- const Ag ag {};
- const T t {};
- const Ar ar {};
- void bind_ag(){
- auto [i,j] = ag;
- static_assert(std::is_same_v<decltype((i)),int&>);
- }
- void bind_t(){
- auto [i,j] = t;
- static_assert(std::is_same_v<decltype((i)),int&>);
- }
- void bind_ar(){
- auto [i,j] = ar;
- static_assert(std::is_same_v<decltype((i)),int&>); //For GCC
- static_assert(std::is_same_v<decltype((i)),const int&>); //For Clang (and standard?)
- }
Add Comment
Please, Sign In to add comment