【发布时间】:2014-01-14 15:02:37
【问题描述】:
每次我要创建像std::string 这样的运算符来显示值(无运算符)时,我都会返回std::ostream,但我不知道为什么。如果std::ofstream被用作函数成员操作函数(std::cout),我该如何返回它,我应该在什么时候返回它,为什么?
例子:
class MyClass
{
int val;
std::ostream& operator<<(const std::ostream& os, const MyClass variable)
{
os << variable.val;
}
}
在std::string:
std::string a("This is an example.");
std::cout << a;
【问题讨论】:
-
请至少给出具体的例子。你问的不是很清楚。
-
“字符串运算符”,使用“ofstream 作为函数”???这到底是什么意思?
-
@texasbruce 当我说
std::ofstream作为一个函数时,我的意思是std::cout << variable(见编辑)。 -
如果你的意思是使用ofstream对象的成员运算符函数,那可能是一个更好的说法。
-
如果通过引用传递,通常会返回一个参数,并且您想
chain-it-up函数调用。