Re[2]: Конвертация типа указателя
От: Mazay Россия  
Дата: 05.05.13 07:28
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>Код опасный. Лучше делать так:


AD>
AD>int a;
AD>double b;

AD>typedef boost::variant<int, double> IntOrDouble;
AD>void cr(IntOrDouble &value)
AD>{
AD>    value = a;
AD>    value = b;
AD>}
AD>

Таки да.

AD>Ну если уж совсем сильно хочется, то вот:

AD>
AD>int a;
AD>double b;
AD>void cr(char *adr)
AD>{
AD>    *reinterpret_cast<int*>(adr) = a;
AD>    *reinterpret_cast<double*>(adr) = b;
AD>}
AD>

Только если там с выравниванием всё в порядке. По-хорошему бы иметь гарантию, что adr когда-то был указателем именно на int или double.
Главное гармония ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.