Re: Безопасно ли присваивать один указатель другому?..
От: Teolog  
Дата: 24.03.18 08:16
Оценка: -1
Абсолютно безопасно за исключением случая с указателем на виртуальную функцию, который имеет извращенный тип.
Проблемы могут возникнуть исключительно в момент разименования.
Более того, данная операция атомарна и соответственно потокобезопасна на любой архитектуре у которой размер типа указателя меньше либо равен разрядности процессора.
Возможно на некоторых других то-же, но это надо смотреть документацию.
Так что можно пользоваться невозбранно за исключением хитрых embeded систем у которых память адресуется по банкам.

но правильно такая операция пишеться
TypeA * a;
TypeB * b;
a=reinterpret_cast<TypeA *>(b);
Потому что при простом приравнивании для указателей на родственные классы начинает работать таинственная адресная магия, которая требует возможности их разименования.
Отредактировано 24.03.2018 8:22 Teolog . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.