SH
Size: a a a
SH
SH
7) in a function call expression, with braced-init-list used as an argument and list-initialization initializes the function parameterSH
SH
AB
DS
SA
B* C::* -> D* C::* при условии, что B - невиртуальный предок D, а приводимое значение в действительности указывает на поле C типа D* (т.е., по сути, обычный Base* to Derived*, однако, с сохранением информации о том, что сам указатель хранится в поле произвольного C). static_cast и dynamic_cast такого функционала не предоставляет, reinterpret_cast слишком либерален, т.к. готов, согласно 7.6.1.10/10 осуществлять любые приведения вида T1 C1::* -> T2 C2::*, где T1 и T2 либо оба объекты, либо функции. Я что-то упускаю, кроме того факта, что наличие таких приведений в архитектуре в принципе нежелательно?CD
B* C::* -> D* C::* при условии, что B - невиртуальный предок D, а приводимое значение в действительности указывает на поле C типа D* (т.е., по сути, обычный Base* to Derived*, однако, с сохранением информации о том, что сам указатель хранится в поле произвольного C). static_cast и dynamic_cast такого функционала не предоставляет, reinterpret_cast слишком либерален, т.к. готов, согласно 7.6.1.10/10 осуществлять любые приведения вида T1 C1::* -> T2 C2::*, где T1 и T2 либо оба объекты, либо функции. Я что-то упускаю, кроме того факта, что наличие таких приведений в архитектуре в принципе нежелательно?SA
reinterpret_cast, как я написал выше, однако, он допускает вообще практически любое преобразование подобной формы, вот я и интересуюсь, есть ли какой-то более строгий способ.CD
reinterpret_cast, как я написал выше, однако, он допускает вообще практически любое преобразование подобной формы, вот я и интересуюсь, есть ли какой-то более строгий способ.CD
reinterpret_cast, конечно, совершенно не гарантирует, что результатом можно будет пользоватьсяMK
SA
reinterpret_cast возможно, т.к. по смещению реально лежит указатель на Derived*.D
Read() и Write()), работает в агрессивной многопоточной среде, сами методы lock-freeАВ
D
DS
P
Read() и Write()), работает в агрессивной многопоточной среде, сами методы lock-free