Size: a a a

2021 July 12

AS

Anatoly Shirokov in supapro.cxx
Только вот еще что
источник

IZ

Ilia Zviagin in supapro.cxx
А анализатор засунуть в зад тому, кто тебе его поставил.
Пусть там анализирует качество проходящего вещества.
источник

АК

Александр Климов... in supapro.cxx
На MISRA проверяешь?
источник

AS

Anatoly Shirokov in supapro.cxx
Ты учти, что элементы твоего массива не обязаны лежать в памяти так же как элементы массива  char
источник

АК

Александр Климов... in supapro.cxx
Или автосар?
источник

AS

Anatoly Shirokov in supapro.cxx
Turboglad Valera ты это учитывашь?
источник

TS

Till Schneider in supapro.cxx
могу показать как сделать это с помощью static_cast))
источник

IZ

Ilia Zviagin in supapro.cxx
А ну кстати да, можно же и так...
источник

TS

Till Schneider in supapro.cxx
cpp code:
struct X {
  unsigned char a;
};
X* data = new X[42];
[](unsigned char* data) {
}(static_cast<unsigned char*>(static_cast<void*>(data)));
delete[] data;


output:
<empty>
источник

Q

Q in supapro.cxx
согласен, структура не всегда будет лежать как char в памяти, но в данном случае это ок. Так все же, если выбирать между указателям и указателем на полную копию, что больше подходит под strict aliasing rule?
источник

AS

Anatoly Shirokov in supapro.cxx
Ты безопасно можешь адрес любого объекта приводить к указателю на char. Обратное неверно, безопасно можно приводить указатель на чар к указателю на обьект только если указатель получен из такого же указателя на обьект ранее. То есть со strict aliasing rule здесь все в порядке
источник

AS

Anatoly Shirokov in supapro.cxx
Strict aliasing это об обратном преобразовании указателя на char на указатель на объект
источник

АК

Александр Климов... in supapro.cxx
Если ты хочешь написать код, который потом пройдёт хоть какую нибудь сертификацию, то единственный способ - создавать копию и поэлементнно конвертировать.
источник

IZ

Ilia Zviagin in supapro.cxx
Чего? Зачем копию?
источник

IZ

Ilia Zviagin in supapro.cxx
давай ты расскажешь , что ж тебе блин надо, потом мы будем обсуждать как это сделать.
источник

Q

Q in supapro.cxx
вот я тоже к этому склоняюсь
источник

Q

Q in supapro.cxx
там в статейке тоже так делают
источник

Q

Q in supapro.cxx
но чуток другой кейс
источник

IZ

Ilia Zviagin in supapro.cxx
Статейка твоя — кусок говна, 90%
источник

Q

Q in supapro.cxx
Илья, я понимаю твое рвение к касту, я бы и сам заюзал
источник