Langage C++, aspects avancés
A partir des définitions suivantes : class Cercle : public Forme { /* ... */ }; vector<Cercle*> v1, v2; vector<Forme*> v3, v4; Quelles propositions provoquent une erreur de compilation ?
v1 = v2 ;
v3 = v4 ;
v4 = v2 ;
v2 = v4 ;
Parmi les déclaration suivantes, quelle est celle qui provoque une erreur de compilation ?
template<class T1, class T2> void f5(T1, T2);
template<class T> void f6(T&, int);
template<int i> void f3 (i);
template<class T> void f7(Vector<List<T>>);
Dans l'exemple suivant : vector<int> v1; vector<int>::iterator i = v1.begin(); while (i != v1.end()) { cout << *i; i.next(); } Quelle ligne provoque une erreur
vector<int>::iterator i = v1.begin();
while (i != v1.end()) {
cout << *i;
i.next();
A partir du code suivant : void main() { int tab[] = {0, 1, 4, 2, 3, 2, 7, 3, 9, 3}; multiset<int> ens; ens.insert(&tab[0], &tab[10]); multiset<int>::iterator i; i = ens.find(3); while (i != ens.upper_bound(3)) { cout << *i << " "; i++; } } Quel est le résultat de l'exécution
3 3 3
0 1 4
0 1 2 3 2 3 3
3 2 7 3 9 3