Una libreria standard per ogni classe

Assistenza ed informazioni sul linguaggio C/C++ compreso lo sviluppo visuale
Rispondi
Avatar utente
Giampaolo
Super Moderatore
Super Moderatore
Messaggi: 750
Iscritto il: 3 apr 2010, 14:07
Località: Montefiascone
Contatta:

Una libreria standard per ogni classe

Messaggio da Giampaolo » 15 apr 2011, 19:36

Sul blog ho iniziato a parlare di STL ( Standard Template Library ). Fino a questo momento abbiamo parlato dei contenitori sequenziali e degli algoritmi generici ch eoperano su questi ultimi. Ad esempio per creare una serie di Fibonacci di 20 valori ordinata in maniera decrescente possiamo scrivere:

Codice: Seleziona tutto

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int Fibonacci(void)
{
   static int r;
   static int f1 = 0;
   static int f2 = 1;
    
   r = f1 + f2 ;
   f1 = f2 ;
   f2 = r ;
    
   return f1 ;
}

struct myClass
{
   bool operator() (int i, int j) { return i > j; }
} myObject;

int main(int argc, char** args)
{
   int k;

   vector<int> v(20);
   generate(v.begin(), v.end(), Fibonacci);

   // ordinamento decrescente
   sort(v.begin(), v.end(), myObject);

   // Stampo la serie
   copy(v.begin(), v.end(), ostream_iterator<int>(cout, "\n"));

   return 0;
}
Questo è solo un assaggio di quello che è possibile fare con questa potente libreria. : Chef :
Riprogrammiamo questo povero mondo!

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite