为什么在stdbool.h中使用整数而不是无符号整数?

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

stdbool.h中,truefalse只是整数。为什么不签名呢?有性能或内存使用动机吗?

c performance boolean c99 unsigned
1个回答
0
投票

true和false均为'#defined'到0,1。因此,它们不是带符号的或未签名的,只是令牌。通常会在不花费运行时间的情况下,在分配,比较时对它们进行“类型化”。

bool b = true ;
unsigned int uv = true ;
int sv = true ;

两者执行都需要相同的时间

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