高手帮菜鸟看看吧。C++Primer中的一段语句。

2025-06-23 04:39:19
推荐回答(1个)
回答1:

这是运算符重载里面的类型重载。
这种重载的函数没有返回值。但是你在函数体内却必须返回这样的类型,要用return返回。

这句话的意思是重载了一个指向字符常量的指针类型。这个指针指向的字符串不可改变。
就像你下面的函数调用foo(ptrchar);(假设ptrchar是一个指向常量字符串的指针)当执行到if (flower == pf);语句时这个重载的类型函数就会被调用。

其实这样的重载在C++的库里面很常见。例如你在打开一个输出文件时:
ofstream out("C:\\luo.txt",ios::out);
你可以用if(out)去判断该文件是否被打开,就是因为ofstream类重载课bool类型,operator bool();