4.6.
,
. .
.
, ,
.
. .
. ,
.
.
++
(rvalue)
, .
.
. ,
; . ,
.
.
. ,
,
.
, , const
.
.
.
, ,
.
:
-
. ,
.
- .
swap() ,
,
.
void swap( int v1, int v2) {
int
tmp = v2;
v2 = v1;
v1 = tmp; }
swap()
. , swap(),
. ,
swap()
#include <stream.h>
vpid swap( int, int);
main() {
int i = 10;
int j = 20;
cout << "Before swap()ti "<< i
<< "tj" << j << "n";
swap( i, j );
cout <<
"After swap()ti "<< i << "tj" << j << "n";
}
:
Before swap()
i 10 j 20
After swap()
i 10 j
20
.
(pointer). swap()
void pswap(
int *v1, int *v2) {
int tmp = *v2;
*v2 = *v1;
*v1 = tmp;
}
main() ,
pswap(). ,
pswap( &i, &j );
,
Before swap()
i 10 j 20
After swap()
i 20 j
10
,
const
void print( const BigClassObject* );
( ) ,
, .
. swap(),
,
void rswap( int &v1, int
&v2 ); {
int tmp = v2;
v2 = v1;
v1 = v2; }
rswap() main() ,
swap()
rswap( i, j );
, i j
.