.


:




:

































 

 

 

 


- -

4

: ϳ. .

1.

 

3.1. , .

3.2. .

3.3. , .

3.4. . . - . 3.3.

 

2.

.

, . .

 

3.

1) .

2) .

3) .

4) .

5) (- ).

6) .

7) .

8) .

9) .

 

4.

  1. ?
  2. ?
  3. ?
  4. ?
  5. ?
  6. new?
  7. delete?
  8. ?

) int mas= new int[7];

) int* mas = new int*[9];

) int R=9; int * mas = &R; delete mas;

  1. ?
  2. ?
  3. , , , .

12. N=5, 1,5; 23.87, 8.

  1. ++?
  2. ? .
  3. ? .
  4. MyFunc, int float.
  5. ?
  6. ?
  7. ?

 

N. N . , , .

 

ϳ - , () . ϳ , ' . (, ), , , .

.

, . , void f(int& x) {x=3;} 3. . , {double&b=a[3]; b=sin(b);} [3]=sin([3]);. , : ; ; ' . , , '. , int const & const ref = a[3]; int const * const ref = &a[3]; , ++, ; , int const & ref = a[3];, int const * ref = &a[3]; .

', ( ; , , ). , :

void Print(int x);

void Print(double x);

void Print(int x, int y);

. , void f(int x, int y=5, int z=10), f(1), f(1,5) f(1,5,10) .

 

 

. , . .
, . .
, .. . , . . . .
. , . , . .
:

  • . ;
  • . , swap() , :

// swap() !

void swap(int vl, int v2) {

int tmp = v2;

v2 = vl;

vl = tmp;

}

swap() . , , . , :

#include <iostream>

void swap(int, int);

int main() {
int i = 10;
int j = 20;

cout << " swap():\ti: "
<< i << "\tj: " << j << endl;

 

swap(i, j);

 

cout << " swap():\ti: "
<< i << "\tj: " << j << endl;

 

return 0;
}

:

swap(): i: 10 j: 20

swap(): i: 10 j: 20

. . swap() :

// pswap() ,

// vl v2

void pswap(int *vl, int *v2) {

int tmp = *v2;

*v2 = *vl;

*vl = tmp;

}

main() . :
pswap(&i, &j);
:

swap(): i: 10 j: 20

swap(): i: 20 j: 10

. swap() :

// rswap() ,

// vl v2

void rswap(int &vl, int &v2) {

int tmp = v2;

v2 = vl;

vl = tmp;

}

main() swap():

rswap(i, j);

main(), .

-

. . -, l- .
- ? -, , (. swap()). -, . -, .

, - , . , . -, , , .

-, , . - , . .

 

- . , , , , . , :

void ptrswap(int *&vl, int *&v2) {

int *trnp = v2;

v2 = vl;

vl = tmp;

}


int *&v1;

: v1 int. main(), rswap(), ptrswap():

#include <iostream>

void ptrswap(int *&vl, int *&v2);

int main() {
int i = 10;
int j = 20;

int *pi = &i;
int *pj = &j;

 

cout << " ptrswap():\tpi: "
<< *pi << "\tpj: " << *pj << endl;

ptrswap(pi, pj);
cout << " ptrswap():\tpi: "
<< *pi << "\tpj: " << pj << endl;

 

return 0;

 

}

:

ptrswap(): pi: 10 pj: 20

ptrswap(): pi: 20 pj: 10

- -

-, -? , , . : ?

3.6, , . .
, - , , :

- , .

( ), .

 

-

++ , , , . ,

void putValues(int[ 10 ]);

,

void putValues(int*);

. :

// putValues()

void putValues(int*);

void putValues(int[]);

void putValues(int[ 10 ]);

:

  • , . , . , , :

void putValues(const int[ 10 ]);

  • . . . :

void putValues(int[ 10 ]); // int*

int main() {

int i, j [ 2 ];

putValues(&i); // : &i is int*;

//

putValues(j); // : j - 0- - int*;

//

, int* . , , .
C- , . . , 0. . :

void putValues(int[], int size);

int main() {

int i, j[ 2 ];

putValues(&i, 1);

putValues(j, 2);

return 0;

}

putValues() :

(10)< 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 >

10 . putValues(), :

#include <iostream>

const lineLength =12; //
void putValues(int *ia, int sz)
{
cout << "(" << sz << ")< ";
for (int i=0;i<sz; ++i)
{
if (i % lineLength == 0 && i)
cout << "\n\t"; //

cout << ia[ i ];

// , ,
//
if (i % lineLength!= lineLength-1 &&
i!= sz-1)
cout << ", ";
}
cout << " >\n";
}

- . , .

// - 10

void putValues(int (&arr)[10]);

int main() {

int i, j [ 2 ];

putValues(i); // :

// 10

putValues(j); // :

// 10

return 0;

}

, putValues() 10 . , , :

#include <iostream>

void putValues(int (&ia)[10])
{
cout << "(10)< ";
for (int 1 =0; i < 10; ++i) { cout << ia[ i ];

// , ,
//
if (i!= 9)
cout << ", ";
}
cout << " >\n";
}

matrix , . matrix :

int (*matrix)[10]

. matrix int. , . , , .
, *matrix - .

int *matrix[10]; matrix int.



<== | ==>
| Solaris (Sun Microsystems)
:


: 2016-12-04; !; : 398 |


:

:

, .
==> ...

1784 - | 1688 -


© 2015-2024 lektsii.org - -

: 0.038 .