【发布时间】:2013-06-07 20:39:30
【问题描述】:
我正在尝试创建一个 C++-Printing-Function,它通过复制算法和之前用户定义的标头打印任何 STL 容器。
我的问题是,我必须通过复制算法打印它,所以我需要 ostream_iterator ("ostream_iterator") 的模板类型?
如何获取模板后面的容器类型
(我用 typeid(cont) 试过了,但没用 - 谢谢!
template<typename Container>
void HeaderPrint(Container cont, std::string header = "" )
{
std::cout << header << std::endl;
copy(cont.begin(),cont.end(), ostream_iterator<typeid(cont)>(cout," "));
std::cout << std::endl;
}
【问题讨论】:
-
typeid(cont)根本不会做你想做的事。看看漂亮的打印机。 -
你可能不想通过值传递容器。
标签: c++ templates containers behind