Один из моих коллег недавно сказал, что вышеуказанное утверждение не является безопасным типом, и я должен использовать что -то другое, поскольку вам нужно как можно больше безопасных структур типа, чтобы уменьшить количество возможных ошибок. < /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
Есть ли что -то не так с sizeof (массив)/sizeof (массив [0])? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение