避免在墨西哥人函数数组的副本

3视图(30天)
Kolar 1月:
Kolar 1月: 2022年1月4日
编辑: Kolar 1月:2022年1月4日
我的问题是关于下面的例子可以发现在文档:
#包括“mex.hpp”
#包括“mexAdapter.hpp”
使用名称空间matlab:数据;
使用matlab:墨西哥人::ArgumentList;
MexFunction:公共matlab::墨西哥人:函数{
ArrayFactory工厂;
公众:
无效操作符()(ArgumentList输出,ArgumentList输入){
sm = 0;
常量TypedArray <二> inArray =输入[0];
(汽车elem: inArray) {
sm+ = elem;
}
输出[0]= factory.createScalar (sm);
}
};
重要的是如何使用关键字“常量”inArray宣言?会有性能差异如果我忽略它吗?我在墨西哥人使用以下功能模块从MexFunction叫做::操作符():
无效初始化(TypedArray <双> x, TypedArray <双> y)
{
}
无效操作符()(ArgumentList输出,ArgumentList输入)
{
初始化输入(输入[1],[2])
}
我应该将初始化函数的输入参数声明为常量来提高性能?问题是,代码可以编译和运行没有问题但我不知道会发生什么。如果可能的话我想避免uneccessary分配和回收。尤其是如果它是简单的比如添加一个关键字。在其他项目中与MATLAB我尽可能使用引用或指针,如果底层数据类型是复杂的。什么是首选方法在墨西哥人模块传递数据?

答案(0)

s manbetx 845


释放

R2020b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!