4.7. -
(reference)
. :
1.
, ,
, .
2.
.
.
const. , ,
const
class
X;
int foo( X& );
int bar( const X& x ) {
// const passed to
nonconst reference
return foo ( x ); // error }
x
foo() foo()
const X& X.
,
. ,
, ,
. , ,
rswap() unsigned int
int i = 10;
unsigned
int ui = 20;
rswap( i, ui );
int T2 = int(ui);
rswap( i, T2 );
rswap()
Before swap()
i
10 j 20
After swap()
i 20 j 20
ui ,
rswap(). - T2 -
.
. (
).
-
,
.
.
unsigned
. ,
.
- , .
, , ?
-
void prswap( int *&v1, int *v2 ) {
int *tmp =
v2;
v2 = v1;
v1 = tmp; }
int *&p1;
. p1 int.
main()
#include
<stream.h>
void prswap( int *v1, int *&v2 );
main() {
int
i = 10;
int j = 20;
int *pi = &i;
int *pj = &j;
cout
<< "Before swap()tpi "<< *pi << "tpj" << *pj <<
"n";
prswap( pi, pj );
cout << "After swap()tpi "<< *pi
<< "tpj" << *pj << "n";
}
Before swap()
i 10
j 20
After swap()
i 20 j 10
.
-; .
. ,
, .
IntArray,
,
int IntArray
operator[]( int index ) {
return ia[ index ]; }
Intarray myAarray[ 8 ];
myArray[ 2 ] = myArray[
1 ] + myArray[ 0 ];
2.8
IntArray.