.


:




:

































 

 

 

 


(lvalue)




lvalue rvalue, , , "".int i = 10;

i : , . , , i 0x1000. , , , 10. , . :int j; j = i;

( ), : i ( 10, 0x1000) j.

:++i; , i (0x1000) 1

.i = 20; 0x1000 20.

i, 20 , . , : ++20; 20 = 10; C++ . , , .

 

, , , , , lvalue rvalue. lvalue , (left-value); , (right-value). C C++ lvalue . lvalue locator value.

 

: (). , , . C C++ . C++ lvalue , . C , , function designator.

, lvalue/rvalue / , . :char a [10];

i, ++i, *&i, a[i] lvalue, :10,i+1,i++ rvalue; modifiable lvalues, non-modifiable lvalues.

, lvalue, . , t "const int& t = i;", t, lvalue, , . non-modifiable lvalues; modifiable lvalues, .

lvalue-to-rvalue conversion

, lvalue- , (, ), . .., i lvalue (" "), rvalue (""). C++ lvalue rvalue (lvalue-to-rvalue conversion).

lvalue/rvalue

, e lvalue, , .. "e =..." , e lvalue. . - lvalues. , , , lvalue, '='. - rvalues lvalues. , C++ rvalues , rvalues '=':class C { };

int main()

{

C() = C(); // OK

return 0;

}

, , C++. (), '=', C++ rvalue,

rvalue:

, . , , ; +, -. *, / ..; int() C(); ..

(&) rvalue .

++, --.

.

.

lvalue:

, , non-modifiable const-. , , ..

. non-modifiable const-. , , ; , ; ..

(*) lvalue ; non-modifiable const-.

++, --.

non-modifiable lvalue; rvalue .

non-modifiable lvalue; rvalue .

non-modifiable lvalue; rvalue char/wchar_t.

 





:


: 2015-10-01; !; : 536 |


:

:

, .
==> ...

1738 - | 1526 -


© 2015-2024 lektsii.org - -

: 0.009 .