gpt4 book ai didi

c++ - 运算符 string() { some code } 做什么?

转载 作者:IT老高 更新时间:2023-10-28 21:36:04 26 4
gpt4 key购买 nike

我在一个类中有以下代码:

operator string() {
return format("CN(%d)", _fd);
}

并且想知道这个操作符是做什么的。

我熟悉常用的字符串运算符:

bool operator==(const string& c1, const string& c2);
bool operator!=(const string& c1, const string& c2);
bool operator<(const string& c1, const string& c2);
bool operator>(const string& c1, const string& c2);
bool operator<=(const string& c1, const string& c2);
bool operator>=(const string& c1, const string& c2);
string operator+(const string& s1, const string& s2 );
string operator+(const Char* s, const string& s2 );
string operator+( Char c, const string& s2 );
string operator+( const string& s1, const Char* s );
string operator+( const string& s1, Char c );
string& operator+=(const string& append);
string& operator+=(const Char* append);
string& operator+=(const Char append);
ostream& operator<<( ostream& os, const string& s );
istream& operator>>( istream& is, string& s );
string& operator=( const string& s );
string& operator=( const Char* s );
string& operator=( Char ch );
Char& operator[]( size_type index );
const Char& operator[]( size_type index ) const;

...但不是这个?

最佳答案

operator Type() { ... }

是(隐式)转换运算符。例如,如果类 Animal 实现了 operator string(),那么代码

Animal a;
...
do_something_with ( (string)a );

会变成这样的

do_something_with ( (Animal::operator string)(&a) );

http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=/com.ibm.xlcpp8a.doc/language/ref/cplr385.htm更多示例。

关于c++ - 运算符 string() { some code } 做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com