Получение объекта std :: tuple с учетом ссылок на значения его членов - PullRequest
0 голосов
/ 06 ноября 2018

Допустим, у меня есть 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
}
...