C ++是否可以策划整个向量?

时间:2015-09-25 15:17:03

标签: c++ vector

我需要cout一个向量。不仅仅是它的一个元素,而是整个事物。 例如std :: cout<< vectorName; 这样的事情,希望它有意义。 有任何想法吗? 提前致谢

2 个答案:

答案 0 :(得分:4)

您可以定义像

这样的实用程序功能
template <typename T>
ostream& operator<<(ostream& output, std::vector<T> const& values)
{
    for (auto const& value : values)
    {
        output << value << std::endl;
    }
    return output;
}

或者自己重复

for (auto const& value : values)
{
    std::cout << value << std::endl;
}

答案 1 :(得分:1)

是的,有可能 - 如果你定义运算符&lt;&lt;为你的矢量。像这样:

template <class T>
std::ostream& operator<<(ostream& out, const std::vector<T>& container) {
   out << "Container dump begins: ";
   std::copy(container.cbegin(), container.cend(), std::ostream_iterator<T>(" ", out));
   out << "\n";
   return out;
}