#include #include // Compiler le .cpp avec l'option: -std=c++0x ex1.cpp #include #include using namespace std; void afficheElement(int element) { cout << " " << element; } int main(void) { cout << endl; cout << "------- Exemples 1 C++11" << endl; cout << "==> Initialisation du vector {0,1,2,3,4,5,6,7,8,9} (a partir de C++11)"<< endl; cout << "==> Parcours avec for_each avec v.begin(),v.end() et une fonction" << endl; cout << "==> Parcours avec for_each avec v.rbegin(),v.rend() et une fonction anonyme" << endl; vector v = {0,1,2,3,4,5,6,7,8,9}; // Init ok en C++11 for_each(v.begin(),v.end(),afficheElement); cout << endl; for_each(v.rbegin(),v.rend(),[](int element){ cout << " " << element; }); cout << endl; cout << endl; cout << "------- Exemples 2 C++11" << endl; cout << "==> Utilisation d'un tableau int t[10]={0,1,2,3,4,5,6,7,8,9};" << endl; cout << "==> Parcours avec for(int x : t), ==> x copie d'un element de t" << endl; cout << "==> x++ n'a ancun effet sur les elements du tableau" << endl; cout << "==> Parcours avec for_each avec t, t+10 et une fonction" << endl; int t[10]={0,1,2,3,4,5,6,7,8,9}; for(int x : t) // A chaque tour, x: copie d'un element du tableau { x++; // Aucun effet sur le tableau car, a chaque tour, x copie d'un element } for_each(t,t+10,afficheElement); cout << endl; cout << endl; cout << "------- Exemples 3 C++11" << endl; cout << "==> Utilisation d'un tableau int t[10]={0,1,2,3,4,5,6,7,8,9};" << endl; cout << "==> Parcours avec for(int& x : t), ==> x reference d'un element de t" << endl; cout << "==> x++ ==> +1 sur les elements du tableau" << endl; cout << "==> Parcours avec for(const int& x : t), ==> x reference constante " << "d'un element de t" << endl; // int t[10]={0,1,2,3,4,5,6,7,8,9}; for(int& x : t) // A chaque tour, x: reference un element du tableau { x++; // +1 sur chaque element ! } for(const int& x : t) // A chaque tour, x: reference constante sur un element du tableau { cout << " " << x; } cout << endl; cout << endl; cout << "------- Exemples 4 C++11" << endl; cout << "==> Utilisation d'une map nombres=" << "{{1,\"un\"},{2,\"deux\"},{3,\"trois\"}}" << endl; cout << "==> Parcours avec for(pair n : nombres)" << endl; cout << "==> Parcours avec for(auto n : nombres) // auto: deduction automatique du type" << endl; map nombres={{1,"un"},{2,"deux"},{3,"trois"}}; for(pair n : nombres) { cout << " " << n.first << "=" << n.second; } cout << endl; for(auto n : nombres) { cout << " " << n.first << "=" << n.second; } cout << endl; return 0; }