Cplusplus说“ostream对象(* this)”,但我不明白。返回ostream对象的指针?我已经尝试用cout函数打印这个值,但是我始终打印0.此值如何有用?什么返回ostream ::写入?
-2
A
回答
0
通常在C++中,不需要返回特定值的方法类(例如在本例中为string
)返回*this
。
C++中的每个对象都可以通过一个称为this指针的重要指针访问自己的地址。这个指针是所有成员函数的隐式参数。因此,在成员函数内部,这可以用来引用调用对象。
感谢this
,您可以使用方法链,这是一个例子:
char c[]="This this this";
std::cout << (std::cout.write(c,4) << " hello ") << std::endl;
输出: This hello 0x600e08
在这个例子中,我使用的运算符链上的目的,但它的与方法相同。
0x600e08
是你basic_ostream
对象的地址。
2
this
是一个指向当前调用对象的指针。
*this
取消引用指针。
这通常用于“链接”。 例如:
cout<<1<<2<<3<<4<<5;
操作< <在COUT被调用: COUT < 将打印1和cout返回,那么我们将有:
cout<<2<<3<<4<<5;
等。
相关问题
- 1. 函数返回ostream的
- 2. 将Unicode字符写入OStream
- 3. 返回什么?
- 4. 什么情况下ostream :: write或ostream :: operator <<会失败?
- 5. 为什么`std :: common_type_t <std :: ostream&,std :: ostream&>`等于`std :: ostream`而不是`std :: ostream&`?
- 6. 为什么不写(2)返回EINTR?
- 7. ostream&...这里的'&'是什么?
- 8. 什么 - > std :: ostream&mean?
- 9. 什么是朋友ostream
- 10. 为什么ImageIO.write在写入JPEG 2000图像时返回0?
- 11. 为什么boto没有返回写入S3的字节数?
- 12. 什么返回mysqli_insert_id()?
- 13. CGColorGetComponents()返回什么?
- 14. 为什么睡眠()块的std :: ostream的
- 15. wave.readframes返回什么?
- 16. 什么是回写?
- 17. 为什么。加入返回的翻译:
- 18. fwrite()返回什么类型?
- 19. 为什么它返回null?
- 20. 写入返回骰子
- 21. 写入返回值c
- 22. 返回做什么?什么都没有返回
- 23. compareTo()返回什么?
- 24. this.id返回什么?
- 25. getCurrentPosition返回什么?
- 26. TelephonyManager.getNetworkCountryIso()返回什么?
- 27. 什么“master.dbo.xp_fixeddrives”返回
- 28. main()返回什么?
- 29. classname.class返回什么?
- 30. request.getParameter返回什么?
这意味着您正在写入的流的引用。 –
请不要使用cplusplus作为参考或其他任何东西。 –
得到[此引用一个尝试(http://en.cppreference.com/w/cpp/io/basic_ostream/write)。此外,你知道你得到了什么,然后你做'*这个'? – NathanOliver