Matlab:matlab如何在函数调用中传递结构?

时间:2015-03-03 08:57:06

标签: matlab

我想知道的是matlab如何将结构传递给matlab类的函数或方法,以及它如何返回它。假设我有以下代码

foo.var1 = 3;
foo.var2 = [1 2 3 4];

function return_foo = my_fun(structure)
    structure.var1 = structure.var1 + 7;
    structure.var2 = 2*structure.var2;
    return_foo = structure;
end

然后拨打my_fun(foo)。 matlab是否会对foo执行深层复制并将其传递给函数,还是只传递指针?分配return_foo = structure;以及将return_foo返回给调用者的问题相同。

编辑:当结构所拥有的数据变得更复杂时,这种行为是否会发生变化,例如嵌套结构,数组......

1 个答案:

答案 0 :(得分:0)

除非你使用handle(面向对象的matlab),否则没有像matlab中的指针那样。它的行为就像传递了数据的深层副本一样。细节解释为here