【发布时间】:2011-05-13 00:52:09
【问题描述】:
我正在尝试重载流插入运算符,以便将 std::vector 打印到 std::cout,但我遇到了语法问题。
这是我尝试过的:
template<typename T> std::ostream & operator<<(std::ostream &os, std::vector<T> &v)
{
std::copy(v.begin(), v.end(), std::ostream_iterator<T>(os, ', '));
return os;
};
我想这样使用它:
std::vector<float> v(3, 1.f);
std::cout << v;
这种运算符重载的正确语法是什么?
【问题讨论】:
-
为我工作...除了明显的
", "而不是', '
标签: c++ templates vector operator-overloading