Извините, если мои сомнения слишком наивны. Но у меня есть трудности с типизацией std::atomic
до char*
типа. Является ли кастинг с std::atomic to char
действительным?
Могу ли я написать приведенную переменную такого типа Я уверен, что не будет многопоточного чтения / записи, пока поток пытается записать в переменную.
std::atomic<uint8_t>* data_;
char *data = reinterpret_cast<char*>(data_);
*data |= mask;
Насколько это безопасно?
EDIT:
Я не уверен, стоит ли упоминать. В моем коде
char *raw;
// variable raw is allocated
std::atomic<uint8_t>* data_ = reinterpret_cast<std::atomic<uint8_t>*>(raw);
Выше показано, как создается std::atomic< uint8_t>
(как тип и тип, приведенные к типу std :: atomic).
Спасибо:)