大佬教程收集整理的这篇文章主要介绍了c – object.operator有什么作用?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
cout.operator << ("Hello");
并认为它将是相同的:
cout << "Hello";
但它打印:
0x46e030
它是如何工作的?它能做什么?
basic_ostream& operator<<( short value ); basic_ostream& operator<<( unsigned short value ); basic_ostream& operator<<( int value ); basic_ostream& operator<<( unsigned int value ); basic_ostream& operator<<( long value ); basic_ostream& operator<<( unsigned long value ); basic_ostream& operator<<( long long value ); basic_ostream& operator<<( unsigned long long value ); basic_ostream& operator<<( float value ); basic_ostream& operator<<( double value ); basic_ostream& operator<<( long double value ); basic_ostream& operator<<( bool value ); basic_ostream& operator<<( const void* value ); basic_ostream& operator<<( std::basic_streambuf<CharT,Traits>* sb); basic_ostream& operator<<( basic_ostream& st,std::ios_base& (*funC)(std::ios_base&) ); basic_ostream& operator<<( basic_ostream& st,std::basic_ios<CharT,Traits>& (*funC)(std::basic_ios<CharT,Traits>&) ); basic_ostream& operator<<( basic_ostream& st,std::basic_ostream& (*funC)(std::basic_ostream&) );
缺少const char *可能看起来令人困惑,但回想一下,你可以添加自由运算符<<除了上述成员之外,还有其他功能. < ostream的>包括这些:
ostream& operator<<( ostream& os,CharT ch ); ostream& operator<<( ostream& os,char ch ); ostream& operator<<( ostream& os,signed char ch ); ostream& operator<<( ostream& os,unsigned char ch ); ostream& operator<<( ostream& os,const charT* s ); ostream& operator<<( ostream& os,const char* s ); ostream& operator<<( ostream& os,const signed char* s ); ostream& operator<<( ostream& os,const unsigned char* s ); template< class T > ostream& operator<<( ostream&& os,const T& value );
通过专门调用object.operator<<(??)重载,你明确告诉它不要使用自由函数,只使用成员函数. “HelLO”的最佳匹配是void *重载,因此它打印了字符串的地址.
以上是大佬教程为你收集整理的c – object.operator有什么作用?全部内容,希望文章能够帮你解决c – object.operator有什么作用?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。