是否可以为C的字符串类创建一个运算符函数?并连接“文字”?

前端之家收集整理的这篇文章主要介绍了是否可以为C的字符串类创建一个运算符函数?并连接“文字”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以随意为C的字符串类编写一个operator()函数,所以我不必使用< sstream>连接字符串?

例如,而不是做

someVariable << "concatenate" << " this";

我可以添加一个operator(),这样我就能做到

someVariable = "concatenate" + " this";

解决方法

std :: string运算符会连接两个std :: strings.然而你的问题是“连接”和“这个”不是两个std :: strings;它们是const char []类型.

如果你想连接两个文字“concatenate”和“this”由于某种原因(通常你可以在多行上分割字符串),你可以:

string someVariable = "concatenate" " this";

并且编译器会意识到你实际上想要字符串someVariable =“concatenate this”;

如果“concatenate”和“this”存储在std :: strings中,则以下内容有效:

string s1 = "concatenate";
string s2 = " this";

string someVariable = s1 + s2;

要么

string s1 = "concatenate";

string someVariable = s1 + " this";

甚至

string someVariable = string("concatenate") + " this";

调用运算符时,“this”将自动转换为std :: string对象.要进行此转换,至少有一个操作数必须是std :: string类型.

原文链接:https://www.f2er.com/c/115836.html

猜你在找的C&C++相关文章