C++传递任何容器来运行

Soa*_*apy 1 c++ stl c++11

我正试图找到一种方法来遍历任何STL容器.目前我有这个:

std::string range(std::vector<int>& args)
{
    for (auto it : args)
        // do something
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种能够将任何类型的STL容器传递给函数而不是函数的方法std::vector<int>& args.我怎样才能做到这一点?

For*_*veR 7

使用模板.

template<typename Container>
std::string range(Container& args)
{
   for (auto it : args)
      // do something
}
Run Code Online (Sandbox Code Playgroud)

可能与特殊类型的重载(std::map例如).