Является ли (size_t) 0 хорошей практикой в ​​C или нет? - PullRequest
1 голос
/ 06 февраля 2020

Я видел следующее в C коде, и мне это кажется странным:

myType GetStuff(size_t *iSize) {
    *iSize = (size_t)0;    
    size_t h = 0;       
    *iSize += h;
}

Все работает без приведения: *iSize = 0;.

Есть ли какая-нибудь потребность в (size_t) актерском составе или это лишнее?

1 Ответ

3 голосов
/ 06 февраля 2020

Есть ли необходимость в (size_t) приведении или его лишнее?

Арифметические c типы конвертируются неявно. Вам не нужен актерский состав. Тем не менее приведение улучшает читабельность кода и может избежать некоторых предупреждений от некоторых компиляторов.

...