2016-03-16 12 views

risposta

7

Non c'è niente come il puntatore in MATLAB, ci sono local workspaces.

Sembra che MATLAB sia intelligente e copia e restituisce quando necessario e passa "puntatore" (senza che tu lo sappia) se non è necessario. Come sottolineato da @Daniel e @zeeMonkeez, questo è discusso nel blog di Loren here e risponde esplicitamente ai ritorni delle funzioni quando la memoria è stata creata all'interno di here. L'idea generale in questi post è "MATLAB non copierà se non è necessario"

Fondamentalmente MATLAB ti astrae dalla gestione della memoria.


Nota a margine: C'è qualcosa come puntatori se si ha realmente bisogno per sfruttare questa. Vedi il commento di @ excaza.

+0

[Puoi avere puntatori (ish) in MATLAB] (http://www.matlabtips.com/how-to-point-at-in-matlab/) :) – excaza

+0

@excaza bene, sì tecnicamente vero, tu può fare alcune cose strane con esso! Ma questo non è il caso generale. –

+3

Non è vero. Matlab usa copy-on-write, il che significa che "out" non sarà mai duplicato. – Daniel