Допустим, у меня есть std :: tuple:
std::tuple< int, float, bool > my_tuple;
и функция:
void my_function( int& i, float& f, bool& b);
Можно ли извлечь объект my_tuple
из my_function
, если я могу гарантировать, что его аргументы i, f, b
являются членами my_tuple
?
Например - законно ли:
void my_function( int& i, float& f, bool& b){
using tuple_type = std::tupl< int, float, bool >;
tuple_type& my_tuple = *reinterpret_cast<tuple_type*>(reinterpret_cast<void*>(&i))
// do stuff with my_tuple, like call its copy constructor, etc
}