【发布时间】:2017-04-22 08:17:22
【问题描述】:
如何编写一个接收双端队列或向量的打印函数并将内容打印到控制台?
void print(generalparameter for deque and vector){
// print the content of the received deque/ vector.
}
【问题讨论】:
标签: c++ vector stl queue deque
如何编写一个接收双端队列或向量的打印函数并将内容打印到控制台?
void print(generalparameter for deque and vector){
// print the content of the received deque/ vector.
}
【问题讨论】:
标签: c++ vector stl queue deque
你可以写一个通用的函数模板:
template <typename Container>
void print(Container const& c) {
for (auto const& elem : c) {
std::cout << elem << ' ';
}
std::cout << '\n';
}
PS 如果您真的想将其限制为 only vector 或 deque 您可以在函数体内使用 static_assert 之类的东西,但我'我不确定这种限制是否真的有意义。
【讨论】:
你可以使用模板函数:
template<typename T>
void print(const T& container){
for(auto item : container) {
std::cout << item << ' ';
}
std::cout << std::endl;
}
【讨论】: