2016-12-07 94 views

回答

1

您可以使用模板功能:

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

你可以写一个通用的函数模板:

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

附:如果你真的想限制它到只有vectordeque你可以在函数体内使用类似static_assert的东西,但我不确定这个限制是否真的有意义。