9.4.   vector 253

template <class T>

vector<T>::vector(const vector<T>& v)

{

size = v.size;

p = new [size] ;

assert(p != 0) ;

for (int i = 0; i < size; -'-+i)
p[i] = v. p [ i ] ;

        -
   [ ].         ,
     ,   . -
      [ ]    -
    lvalue.

template <class T> T& vector<T>::operator[](int i)
t

assert (i >= 0 && i < size ) ;

return (p [i]') ;

}

 :  ,     . 
       (. -
 7  .278).

r.emplate <class T>
'./ector<T>& vector<T> :: operator= (const vector<T>& v)

assert(v.size == size);

for (int i = 0; i < size; ++i)
p[i] = v. p [ i ] ;

return *this;

}

    ,     .
   ,      
,    .     , -
, int,  ,  .    -
  .

  vect_it.cpp

^nt mainf)

vector<double> v(5);

vector<double>::iterator p;

int i = 0 ;

for (p = v.begin(); p != v.end(); ++p)