gpt4 book ai didi

c++ - 将 C++ 与 Tizen 库一起使用

转载 作者:行者123 更新时间:2023-11-30 04:44:51 25 4
gpt4 key购买 nike

我是 Tizen 新手 C++ 开发人员。我已经浏览了所有( native )示例代码,它似乎大量使用了回调。

由于您不能(轻松地)传递成员函数来代替回调(除非是静态的),这使得使用 C++ 代替 C 变得更加困难。

使用 C++(对所有 CB 使用静态方法)是否有优势 - 或者我应该坚持使用 C 并使用长而复杂的函数名称来组织各种函数。 (有点像命名空间)

还有其他解决方案吗?

最佳答案

回调的“user_data”参数是您需要利用的。示例:device_changed_cb typedef .您可以将此“user_data”用作“此类”。

我建议使用以下伪 C++ 代码:

class X {
void member_func(type, value);
static member_func_cb(type, value, void *user_data) {
class X *xptr = (class *X) user_data;
xptr->member_func(type, value);
};
...
register_callback(member_func_cb, this);
...
};

通过适当的宏定义,您也可以避免在类中重新定义 *_cb 函数。

关于c++ - 将 C++ 与 Tizen 库一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57540667/

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