我正在寻找一种方法来为MATLAB变量使用别名,而不会导致性能损失。
请考虑以下情形:您有一个具有很长访问名称的变量,例如深度嵌套的结构值,并且您希望在本地修改此变量。以下代码将在变量修改后立即复制该变量。
S.f1.f2.f3.f4.f5.myvar = ones(very_big_number);
myvar_alias = S.f1.f2.f3.f4.f5.myvar; % both variables still refer to same block of memory
myvar_alias(1) = 0; % copy of large variable made due to modification
有没有办法让这项工作,比如参加C ++参考?
auto myval_alias& = S.f1.f2.f3.f4.f5.myvar
我严格要求这样做以避免复制粘贴,以及代码的可读性。 this related question的答案试图获得通过引用传递的内容