Questionnaire Vous êtes : Votre adresse mail : Votre groupe de TP: Initiaux GR1 (avec Henri Derycke) Initiaux GR2 (avec Anthony Labarre) Alternants GR3 (avec Victor Marsault) Considérons la fonction pour les questions ci-dessous. int f(int a, int& b, const int& c, int&& d, int* e) { return *(new int{a+b+c+d+*e}); } 1. Pour chacune des expressions suivantes, indiquez s’il s’agit d’une L-value ou d’une R-value: a, b, c, d, e, *e, a+b+c+d+*e, new int{a+b+c+d+*e}; *(new int{a+b+c+d+*e}); Les questions ci-dessous s’appliquent à la classe SomeClass ci-dessous. class SomeClass { private: int _id; std::vector<int> _data; std::string* _ptr; public: ~SomeClass() {delete _ptr;} }; 2. Donner le prototype du constructeur de copie de SomeClass. 3. Ecrire le code du constructeur de copie de SomeClass, tel que généré par l’implémentation par défaut du compilateur. 4. Expliquer pourquoi cette implémentation va poser des problèmes. 5. Donner le prototype du constructeur de déplacement de SomeClass. 6. Ecrire le code du constructeur de déplacement de SomeClass, tel que généré par l’implémentation par défaut du compilateur. 7. Expliquer pourquoi cette implémentation va poser des problèmes. 8. Ecrire un constructeur de déplacement correct pour SomeClass. 9. Donner les prototypes de l’opérateur d’affectation par copie et de l’opérateur d’affectation par déplacement de SomeClass. 10. Doit-on les implémenter pour la classe SomeClass ? Pourquoi ? 11. Ecrire le constructeur de SomeClass qui prend trois arguments (un entier, un tableau dynamique d’entier et une chaine de caractère) pour initialiser les trois attributs de SomeClass. Voici deux implémentations de la fonction main. On suppose que la classe SomeOtherClass est implémentée pour qu’il compile. int main() { SomeOtherClass a; SomeOtherClass b; b = a; } int main() { SomeOtherClass a; SomeOtherClass b = a; } 12. Est-ce qu’il sont équivalents? Expliquer en précisant quelles fonctions vont être appelées. Combien de temps avez-vous mis à compléter ce chapitre ? Avez-vous des questions suite à sa lecture ? Avez-vous des commentaires concernant le chapitre et/ou le site ?