C=+A;
C = uplus(A) is an alternate way to execute +A, but is rarely umeased. It enables operator overloading for classes.
So depending on class of A, +A or uplus(A) may have different meaning.
C = A; This is just an assignment.
[Update based on comments below]
For assignment:
- C = A; This is assiment only. MATLAB will do a lazy copying (pointer to A) and only do the real data copying when C is changed later.
- C = +A or C=uplus(A); +A and uplus(A) is the expression or function that involves A. The meaning of + and uplus is class dependent. The expression and function need to be evaluated first before assignment. The evaluation results is assigned to C (data copying is necessary).
The meaning of +/upluse:
- For numerical data types like double/single/etc, this will have no effect of the results.
- For logical and char, +/upluse has the effect of operator overloading. The result is of numerical data type double.
As function input arguments:
- +A and uplus(A) is the expression, as in table(+A)
In addition, it is possible (but rarely) for user to do the operater overloading of +/uplus.