(size_t)0是否在C中是一个好习惯?

问题描述 投票:0回答:1

我已经在C代码中看到以下内容,这对我来说似乎很奇怪:

myType GetStuff(size_t *iSize) {
    *iSize = (size_t)0;

    size_t h = 0;       
    *iSize += h;
}

所有内容也都无需强制转换:*iSize = 0;

(size_t)强制转换是否有其必要?

c casting coding-style
1个回答
2
投票

(size_t)强制转换是否有其必要?

算术类型隐式转换。您不需要演员表。也就是说,强制转换可以提高代码的可读性,并且可以避免某些编译器发出的警告。

在这种情况下,由于hiSize被单位化(在编辑之前,编译器会抱怨。


1
投票

(size_t)强制转换是否有其必要?

算术类型隐式转换。您不需要演员表。

在这种情况下,由于hiSize是单位化的,因此编译器会抱怨。

© www.soinside.com 2019 - 2024. All rights reserved.