将C++与 Tizen 库一起使用
Using C++ with Tizen libraries
我是Tizen新手C++开发人员。 我已经浏览了所有(本机(示例代码,它似乎大量使用回调。
由于您不能(轻松(传递成员函数来代替回调(除非是静态的(,这使得使用 C++ 代替 C 变得更加困难。
使用C++(对所有 CB 使用静态方法(是否有优势 - 或者我应该坚持使用 C 并使用冗长复杂的函数名称来组织各种函数。 (有点像命名空间(
有没有其他解决方案?
回调的"user_data"参数是你需要使用的。示例:device_changed_cb类型定义。您可以将此"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 函数。
相关文章:
- 如何将enable-if与模板参数和参数包一起使用
- 如何将PERF_AMPLE_READ与mmap一起使用
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将C++中的库和头与MinGW一起使用
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 为什么我不能将 rand() 与数组的大小一起使用?
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 不能将复制初始化与隐式转换的多个步骤一起使用
- 将fold表达式与std::一起用于两个元组
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 将 std::allocate_shared 与多态资源分配器一起使用
- 为什么常量词在重载运算符中不与 ostream 对象一起使用<<?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 将 exprtk 与自定义类的对象一起使用
- 将 std::set 与基于键的比较器一起使用
- 将 C++ 类与 Rcpp 一起使用,从 C 或 R 修改它
- 如何将 Eigen::Ref 与 pybind11 一起使用?
- 如何将AERT_Allocate与 std:vector 一起使用
- 如何使我的 sizeof sum 结构与空参数包一起工作
- 将C++与 Tizen 库一起使用