J'ai un pb tres simple, je veux tranformer un const vector<T> en un vector<T*>.
Voici un extrait de mon code qui le fait :
Ce code marche tres bien mais ce qui me gene c'est le const_cast dans le foncteur. Est - ce qu'il existe une meilleure conception pour convertir un const vector<T> en vector<T*> ?
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 template<typename T> struct ToPtr : public std::unary_function<T, T*> { T* operator()(const T& value) { return const_cast<T*>(&value); } }; template<typename T> void MyClass::order(const vector<T>& in, vector<T*>& out) const { out.reserve(in.size()); std::transform(in.begin(), in.end(), std::back_inserter(out), ToPtr<T>()); }
Partager