Есть ли что -то не так с sizeof (массив)/sizeof (массив [0])?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Есть ли что -то не так с sizeof (массив)/sizeof (массив [0])?

Сообщение Anonymous »

Один из моих коллег недавно сказал, что вышеуказанное утверждение не является безопасным типом, и я должен использовать что -то другое, поскольку вам нужно как можно больше безопасных структур типа, чтобы уменьшить количество возможных ошибок. < /p>

Хотя я согласен с безопасным типом, я немного запутался, так как это тип рассматриваемого кода (изменяется только содержимое и длину данных []) < /p>

unsigned char data[] = {1,2,3,4,5};
int data_len = sizeof(data) / sizeof(data[0]);
< /code>

Где деталь, которая не является безопасной типом? < /p>

Излишне говорить, кроме комментария, коллега не объяснит. < /p>

ps: это используется для копирования данных инициализации в класс из конструктора, компилятор C ++ 11 здесь существует здесь, поэтому мы не можем использовать std :: ray или другую инициализацию причудливого массива. методы.

Подробнее здесь: https://stackoverflow.com/questions/227 ... zeofarray0
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»