【发布时间】:2015-06-08 11:27:29
【问题描述】:
我一直在阅读一些使用 gtk+ 的代码,并且遇到过像 gboolean 和 gunichar 这样的类型。
只要我能理解使用gunichar 而不是wchar_t (glib gunichar and wchar_t) 的意义,我就无法真正理解使用gboolean 而不是bool 的意义。
问题:使用gboolean 代替bool 有什么意义?除了注意代码风格的一致性之外,还有什么其他的吗?
如果它用于一般一致性,对我来说不会那么奇怪(如果一个人决定使用GLib,一个人会更喜欢使用那里定义的类型)。然而,该代码的作者使用int 而不是gint。是作者粗心吗?
只是添加更多细节(official GLib as a reference):
gunichar定义为typedef guint32 gunicharguint32定义为typedef unsigned int guint32gboolean定义为typedef gint gbooleangint定义为typedef int gint
【问题讨论】:
-
我不知道 GLib 是否设计为与 C99 之前的 C 版本一起使用,如果是,那么您就有理由使用
gboolean- 因为不会t 是标准布尔类型。