Gentlwomens, gentlemens
J'ai une question : supposons un code qui permette de définir l'action des opérateurs sur un conteneur. Je trouve qu'écrire le code pour les différents opérateurs (dans le cas ci dessous) assez redondant.
Est ce qu'il y a un moyen de factoriser (sûrement un concept que je n'ai pas) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 template <class T> std::vector<T> &operator+(T elementToAdd, const std::vector<T> & vector) { std::vector<T> result(vector.size()); for (int i=0; i<result.size(); i++) { result[i]= vector[i]+ elementToAdd; } return result; } template <class T> std::vector<T> &operator-(T elementToRemove, const std::vector<T> & vector) { std::vector<T> result(vector.size()); for (int i=0; i<result.size(); i++) { result[i]= vector[i]- elementToRemove; } return result; }
Partager