1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
#include <iostream>
#include <vector>
using namespace std ;
void do1()
{
vector < double * > v ;
for ( size_t i = 0 ; i < 16 ; i++ )
{
double * z = new double( 1 + (i) * 10) ;
v.push_back( z ) ;
}
cout << v ;
// pour supprimer
delete v[2] ; // ajouté sinon caca
v.erase( v.begin() + 2 ) ;
double * x1 = new double(-100.005) ;
v.insert( v.begin() + 6, x1 ) ; // ok
// pour réduire le vecteur
for( size_t i = 7 ; i < v.size(); i++ ) //ajouté sinon caca
delete v[i];
v.resize(7);
// pour affecter
double * x2 = new double( -1 ) ;
delete v[1]; // ajouté sinon caca
v[1] = x2 ;
// alors ce qui suit c'est la catastrophe
// fill( v.begin(), v.end(), x2 ) ;
cout << v ;
// Enfin le Chorus final
for( size_t i = 0 ; i < v.size() ; i++)
delete v[i];
}
int main()
{
do1() ;
return 0 ;
} |
Partager