据我所知,该bool
类型的宽度是实现定义的.但是有没有固定宽度的布尔类型,或者我应该坚持,例如,a uint8_t
代表一个固定宽度的布尔?
[编辑]我制作了这个python脚本,自动生成一个C++类,它可以保存我希望能够在微控制器和我的计算机之间发送的变量.它的工作方式是它还保持两个数组,这些数组包含指向这些变量中的每一个的指针以及每个变量的大小.这为我提供了必要的信息,可以轻松地序列化和反序列化这些变量中的每一个.为了使其工作,变量类型的sizeof,endianness等必须在两侧都相同,因为我在两侧使用相同的生成代码.我不知道这是否会成为一个问题,但我不指望它.我之前已经使用过这个(32位ARM)芯片,并且在过去没有发送整数和浮点类型的问题.然而,在我回来之前的几天,我可以尝试在芯片上使用布尔值.这可能是一个更大的问题,因为此代码可能会在以后的其他芯片上重用.
所以我的问题是.是否有bool
标准库中定义的固定宽度类型,或者我应该使用uint8_t来表示布尔值?