是否可能使返回字符串而不是类类型的运算符重载?
string operator++() {
index++;
if (index > num_atts) {
index = 0;
}
string ret = att_names[index];
return ret;
}
您可以返回自己喜欢的任何类型,就像您编写的任何其他函数一样。但是,就像任何其他函数一样,您无法返回指向将要超出范围的局部堆栈变量的指针,这是未定义的行为。最简单的解决方法是简单地返回string
,例如:
std::string operator++() {
// ...
return ret;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句