什么返回ostream :: write?

时间:2017-07-05 18:20:16

标签: c++ file

Cplusplus说“ostream对象(* this)”,但我不明白。返回ostream对象的指针?我尝试用cout函数打印这个值,但我总是打印0.这个值怎么有用呢?

2 个答案:

答案 0 :(得分:2)

this

是指向当前调用对象的指针。

*this

取消引用指针。

这通常用于“链接”。 例如:

cout<<1<<2<<3<<4<<5;

运营商LT;&LT;在cout中调用:     COUT&LT;&。1 将打印1并返回cout,然后我们将:

cout<<2<<3<<4<<5;

等等。

答案 1 :(得分:0)

通常在C ++中,方法的类不必返回特定值,例如本例(或者使用string),返回*this

  

C ++中的每个对象都可以通过一个名为this指针的重要指针访问自己的地址。 this指针是所有成员函数的隐式参数。因此,在成员函数内部,这可以用于引用调用对象。

感谢this,您可以使用方法链接,这是一个示例:

char c[]="This this this";
std::cout << (std::cout.write(c,4) << " hello ") << std::endl;

输出: This hello 0x600e08

在这个例子中,我故意使用操作符链接,但它与方法相同。

0x600e08是您basic_ostream对象的地址。