转换Matlab句柄类到c++
Convert Matlab Handle class to C++
我在Matlab中有一个句柄类,我希望能够在c++中使用。我在这里已经了解到,我不能仅仅生成一个c++类,而必须用函数包装我的类。另一个问题中的示例仅展示了在包装器函数中使用一个成员函数。但是,我需要能够调用类的几个成员函数。
由于我不能按照Matlab文档将我的类实例传递给包装器函数,因此我看不到有几个函数在同一对象上操作的方法。
这是不可能的吗?
不能将类作为生成代码的主函数的输入和输出。但是你可以从你的主函数中调用任意数量的子函数,这些子函数可以把对象作为输入。对象通常是从主函数创建的,然后传递给子函数。然后使用代码根"主函数名"生成代码。生成的代码包含所有子函数。
您还应该在子函数中使用coder.inline('never')
,以便它们在生成的代码中显示为单独的函数。
我看不出有什么办法让几个函数操作同一个对象。
为什么不呢?您可以使用pointer
作为输入参数。
int main() {
int myarr[5] = {1, 2, 3, 4, 5};
double myval1, myval2;
myval = myfun1(myarr, 100); // myarr is unchanged
myfun2(&myarr, 200); // myarr now has new values
return 0;
}
double myfun1(int *arr, int para1) {
// @TODO1
}
void myfun2(int *arr, int para2) {
// @TODO2: here you can change value of *arr which is returned back to the calling function
}
myarr
可以更改为您想要的任何类
相关文章:
- 外壳包装器句柄/执行交互式命令管道C++ UNIX
- 如何获取边缘窗口句柄 (HWND)?
- 枚举进程模块在有效句柄上返回无效句柄
- 在 c/c++ 中打开 PhysicalDrive 的句柄并写入 MBR 的 linux 等效是什么?
- 从运行服务的应用程序代码中提取窗口句柄
- 在读取文件后重置句柄
- 是否有像地图这样的C++结构,但我得到的不是值的键,而是值的句柄?
- Microsoft ODBC 无法创建有效的句柄
- 我是否可以使用 win32 句柄以编程方式记录发送到/接收到 USB/COM 的内容
- 获取特定进程的句柄数
- C++ 创建 NdisProt 驱动程序的句柄
- 是否需要关闭来自 WinHTTP 异步的句柄?
- 句柄OK全部崩溃
- 我需要通过窗口句柄(HWND)获取文件,我该怎么办?
- 什么是 C# 等同于C++句柄
- 未知C++错误:致命错误:glibc检测到无效的stdio句柄
- 获取现有进程句柄
- GetModuleHandle() 无法检索由 "notepad.exe" 加载的"advapi32.dll"的句柄
- 更正GLSL无绑定纹理句柄中的结构布局
- 带有资源句柄的TensorFlow自定义C++操作