2016-12-07 3 views

Répondre

1

Vous pouvez utiliser une fonction de modèle:

template<typename T> 
void print(const T& container){ 
    for(auto item : container) { 
     std::cout << item << ' '; 
    } 
    std::cout << std::endl; 
} 
1

Vous pouvez écrire un modèle de fonction générique:

template <typename Container> 
void print(Container const& c) { 
    for (auto const& elem : c) { 
     std::cout << elem << ' '; 
    } 
    std::cout << '\n'; 
} 

post-scriptum Si vous voulez vraiment le limiter à seulementvector ou deque vous pouvez utiliser quelque chose comme static_assert dans le corps de la fonction, mais je ne suis pas sûr que cette restriction aurait vraiment du sens.