我有功能体:
cout<<value;
我想制作可以具有任何类型参数的函数,value
以使用将许多类型参数传递给cout
.
解决此问题的最佳方法是什么?
您几乎在描述模板。
template<typename T>
void Foo(const T &value)
{
std::cout << value;
}
相反,如果您问的是“我有一个T
我希望能够序列化的类型std::cout
”,那么您需要operator <<
在您的类中重载。
class MyType
{
int x;
friend std::ostream &operator <<(std::ostream &stream, const MyType &value)
{
return std::cout << value.x;
}
};