gpt4 book ai didi

c++ - 如何向下转换 RefPtr

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:17 25 4
gpt4 key购买 nike

在 Gtk 中,我有一个这样的类层次结构:

Gtk::ListStore 派生自 Gtk::TreeModel

来自Gtk::TreeView我可以得到 get_model()一个Glib::RefPtr<Gtk::TreeModel>

如果我在我的 Gtk::Treeview 中使用Gtk::ListStore 作为 Gtk::TreeModel 并调用 get_model()我得到一个Glib::RefPtr< TreeModel >

但是我想调用 Gtk::ListStore 的成员函数。

我如何转换 Glib::RefPtr<Gtk::TreeModel>下降到 Glib::RefPtr<Gtk::ListStore> .是否有标准方法或是否需要黑客攻击,或者处理 View 和不同商店类型的典型程序是如何进行的。是否有任何检查功能以便可以安全地进行向上转换,可能是通过编译时检查,或者如果在运行时不可能的话?对任何文档的任何提示。

最佳答案

用于向下转换

Glib::RefPtr<Gtk::ListStore> ptrDerived = Glib::RefPtr<Gtk::ListStore>::cast_dynamic(treeModel);

documentation

关于c++ - 如何向下转换 RefPtr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25567543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com