【C++】String类的非成员函数

举报
修修修也 发表于 2024/04/27 13:52:11 2024/04/27
【摘要】 ​📌string类的非成员函数        非成员函数重载共有6个,如下:​编辑常用的非成员函数函数名称功能说明operator+尽量少用,因为传值返回,导致深拷贝效率低operator>>输入运算符重载operator<<输出运算符重载getline获取一行字符串relational operators大小比较🎏operator+()函数operator+()函数定义:​编辑使用op...

📌string类的非成员函数

        非成员函数重载共有6个,如下:

编辑

常用的非成员函数

函数名称

功能说明

operator+

尽量少用,因为传值返回,导致深拷贝效率低

operator>>

输入运算符重载

operator<<

输出运算符重载

getline

获取一行字符串

relational operators

大小比较

🎏operator+()函数

operator+()函数定义:编辑


使用operator+()函数完成string类对象和常量字符串相加:

int main()
{
    string st1("Hello ");

    string st2 = st1 + "world";

    cout << st2 << endl;

    return 0;

}

operator+()函数效果如下:编辑

🎏operator>>()函数

operator>>()函数定义:

编辑


使用operator>>()函数从流中提取字符串:

int main()
{
    string st1;

    cin >> st1;

    cout << st1 << endl;

    return 0;

}

operator>>()函数效果如下:编辑

🎏operator<<()函数

operator<<()函数定义:

编辑


使用operator<<()函数在string类对象后追加内容:

int main()

{

    string st1("hello!");

    cout << st1;

    return 0;

}

operator<<()函数效果如下:编辑

🎏getline()函数

getline()函数定义:

编辑


使用getline()函数将行从流中获取到字符串:

int main()
{
    string st1;

    std::getline(cin,st1);

    cout << st1 << endl;

    return 0;

}

getline()函数效果如下:(使用getline流插入字符时可以无视空格,直到遇到回车才截止)编辑

🎏relational operators

relational operators定义:

编辑


使用relational operators比较字符串:

int main()

{

    string st1("hello");

    string st2("world");

    cout << (st1 > st2) << endl;

    cout << (st1 >= st2) << endl;

    cout << (st1 == st2) << endl;

    cout << (st1 != st2) << endl;

    cout << (st1 <= st2) << endl;

    cout << (st1 < st2) << endl;

    return 0;

}

relational operators效果如下:编辑


结语

希望这篇关于C++string类的博客能对大家有所帮助,欢迎大佬们留言或私信与我交流.

学海漫浩浩,我亦苦作舟!关注我,大家一起学习,一起进步!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。