主要内容

matlab:: data:: ObjectArray

类来访问MATLAB对象数组

描述

使用ObjectArray对象访问MATLAB®对象数组。创建一个ObjectArray,叫createArrayArrayFactory使用此语法初始化:

模板 TypedArray createArray(ArrayDimensions dim, ItType begin, ItType end)

要创建标量对象,请调用createScalar使用以下语法:

ObjectArray createScalar(const Object& val);

ObjectArray定义为:

使用ObjectArray = TypedArray;
            
            

类细节

名称空间:

matlab:数据

包括:

ObjectArray.hpp

的元素不能组合ObjectArray到异构数组中。

如果类定义对象覆盖subsrefsubsasgn的元素,则无法访问ObjectArray

例子

创建ObjectArray

创建一个ObjectArraymyObject类对象。迭代器是指向数组开头和结尾的指针。

类myObject {public: const std::vector& getObjs() const{返回fObjs;} private: std::vector fObjs;};const myObject& a1;const myObject& a2;matlab::数据::ArrayFactory工厂;const auto& objs = a1.getObjs();matlab::data::ObjectArray arr1 = factory。createArray({1,2}, objs.begin(), objs.end());

遍历ObjectArray

对象中使用基于范围的for循环进行迭代ObjectArray并检索数组中的对象。

std::矢量对象> < matlab::数据::fObjs;//使用基于范围的for循环遍历对象。for (const auto& o: objs) {fObjs.push_back(o);}

对象在MEX和引擎应用程序

c++ MEX和c++ Engine应用程序可以获取和设置MATLAB对象的属性值。有关如何在这些应用程序中访问MATLAB对象的信息,请参阅以下主题:

在R2017b中引入