0

我有功能体:

 cout<<value;

我想制作可以具有任何类型参数的函数,value以使用将许多类型参数传递给cout.

解决此问题的最佳方法是什么?

4

1 回答 1

0

您几乎在描述模板。

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;
   }
};
于 2012-11-07T20:00:32.643 回答