(size_t)0 在 C 中是不是一个好习惯?
Is (size_t)0 a good practice in C or not?
我在 C 代码中看到了以下内容,我觉得很奇怪:
myType GetStuff(size_t *iSize) {
*iSize = (size_t)0;
size_t h = 0;
*iSize += h;
}
没有强制转换也一切正常:*iSize = 0;
。
是否需要 (size_t)
强制转换或是否多余?
Is there any need in (size_t) cast or its superfluous?
算术类型隐式转换。你不需要演员表。也就是说,强制转换提高了代码的可读性,并可能避免某些编译器的一些警告。
我在 C 代码中看到了以下内容,我觉得很奇怪:
myType GetStuff(size_t *iSize) {
*iSize = (size_t)0;
size_t h = 0;
*iSize += h;
}
没有强制转换也一切正常:*iSize = 0;
。
是否需要 (size_t)
强制转换或是否多余?
Is there any need in (size_t) cast or its superfluous?
算术类型隐式转换。你不需要演员表。也就是说,强制转换提高了代码的可读性,并可能避免某些编译器的一些警告。