可以计算出一个完整的向量吗?

C++ Is it possible to cout a whole vector?

本文关键字:向量 一个 计算      更新时间:2023-10-16

我需要计算一个向量。不仅仅是其中的一个部分,而是整件事。例如std::cout <<vectorName;差不多吧,希望能说得通。什么好主意吗?提前感谢

您可以定义一个像

这样的实用函数
template <typename T>
std::ostream& operator<<(std::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;
}

是的,如果你定义了operator<<对于向量。像这样:

#include <iterator>
template <class T>
std::ostream& operator<<(std::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;
}