Ich habe einen beliebigen STL-Container C, der Elemente eines beliebigen Typs T enthält. Ich möchte einen std :: vector erstellen, der eine Kopie aller Elemente enthält. Was ist der sauberste Weg, dies zu tun?Funktionsvorlagen für beliebige STL-Container mit beliebigen Typen
template <typename C>
void myfunction(C container){
/*Derive the type T of elements within the container*/
std::vector<T> mystack;
/* Iterate over container and push_back() the elements into mystack*/
}
Ich dachte, ich würde dies für C++ 11 stoßen. Würde das neue Keyword "auto" hier funktionieren? Ich hatte noch keine Gelegenheit, damit viel zu spielen. –
@ChadBrewbaker: Nein. 'Declltype' würde funktionieren, aber das ist nicht einfacher als' typename C :: value_type'. – kennytm