Glib 铸造宏
Gtk 有转换宏,允许它更改 gtk 对象的类型:
GTK_WIDGET(gtktoolbox);
Glib 以类似的方式工作(据我所知),但我找不到数据类型的宏:
G_INT(); // doesn't work
GINT(); // doesn't work
// etc
什么是 glib 转换宏?或者我应该使用(type)变量
来代替?
我认为这些宏的全部目的是为了降低风险?或者这仅适用于 gtk 对象,因为它们的类型很复杂?
Gtk has casting macros that allow it to change a gtk object's type:
GTK_WIDGET(gtktoolbox);
Glib works in a similar way (As far as I can tell) but I can't find the macros for data types:
G_INT(); // doesn't work
GINT(); // doesn't work
// etc
What are the glib casting macros? Or should I just use (type) variable
instead?
I thought the whole point of these macros was to make that less risky? Or did that only apply to gtk objects because of their complex type?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
GTK+ 使用一些魔法来进行动态类型检查和类型安全转换。
http://openbooks.sourceforge.net/books/wga/gtk.html#AEN194
这适用于 GTK 对象,但不适用于原始类型,例如 int。只需使用
(int) var
即可。GTK+ uses some magic to do dynamic type checking and type safe casts.
http://openbooks.sourceforge.net/books/wga/gtk.html#AEN194
This works for the GTK objects, but not for primitive types, like int. Just use
(int) var
instead.