关于C++中string类对象的用法总结

1. 介绍

String类是C++中常用的字符串操作类,可以使用它来方便地进行字符串的存储和处理。在本文中,将会对该类的用法进行详细的总结。

2. 创建String对象

2.1 使用默认构造函数创建

可以使用String类的默认构造函数来创建一个空的字符串对象:

#include <string>

using namespace std;

int main() {

string str;

return 0;

}

上述示例中,字符串变量str被创建为一个空字符串。我们可以通过调用该字符串对象的成员函数访问其属性和方法。

2.2 使用带参构造函数创建

除了使用默认构造函数创建,也可以使用带参构造函数创建字符串对象。该构造函数可以接受一个C风格字符串或另一个String对象作为参数:

#include <string>

#include <iostream>

using namespace std;

int main() {

string str1("hello");

string str2(str1);

cout << str1 << endl; // 输出 "hello"

cout << str2 << endl; // 输出 "hello"

return 0;

}

上述示例中,字符串变量str1被创建为一个以“hello”为初始值的字符串,而字符串变量str2则以str1的值为初始值进行创建。

3. String对象的方法

下面介绍一些常用的String类的方法。

3.1 length和size

该方法返回字符串的长度:

#include <string>

#include <iostream>

using namespace std;

int main() {

string str("hello");

cout << str.length() << endl; // 输出 5

cout << str.size() << endl; // 输出 5

return 0;

}

上述示例中,length()和size()方法的作用完全相同。

3.2 c_str

c_str()方法用于将字符串对象转换成一个C风格的字符串:

#include <string>

#include <iostream>

using namespace std;

int main() {

string str("hello");

const char* cstr = str.c_str(); // 转换为C风格字符串

cout << cstr << endl;

return 0;

}

3.3 append

append()方法用于将一个字符串添加到另一个字符串的末尾:

#include <string>

#include <iostream>

using namespace std;

int main() {

string str("hello");

str.append(" world"); // 添加一个字符串

cout << str << endl; // 输出 "hello world"

return 0;

}

3.4 insert

insert()方法用于将一个字符串插入到另一个字符串的指定位置:

#include <string>

#include <iostream>

using namespace std;

int main() {

string str("hello");

str.insert(2, "world"); // 在第3个字符位置插入字符串

cout << str << endl; // 输出 "heworldllo"

return 0;

}

3.5 erase

erase()方法用于从字符串中删除指定的部分:

#include <string>

#include <iostream>

using namespace std;

int main() {

string str("hello world");

str.erase(5, 5); // 删除从第6个字符开始后的5个字符

cout << str << endl; // 输出 "hello"

return 0;

}

4. String对象的运算符重载

String类还提供了一些重载的运算符,使得对字符串进行各种操作更加方便。

4.1 加法运算符+

加法运算符可以将两个字符串拼接为一个字符串:

#include <string>

#include <iostream>

using namespace std;

int main() {

string str1("hello");

string str2(" world");

string str3 = str1 + str2; // 拼接两个字符串

cout << str3 << endl; // 输出 "hello world"

return 0;

}

4.2 复合赋值运算符+=

复合赋值运算符可以将一个字符串添加到另一个字符串的末尾:

#include <string>

#include <iostream>

using namespace std;

int main() {

string str1("hello");

string str2(" world");

str1 += str2; // 添加一个字符串

cout << str1 << endl; // 输出 "hello world"

return 0;

}

4.3 关系运算符

关系运算符包括等于运算符==、不等于运算符!=、大于运算符>、小于运算符<、大于等于运算符>=、小于等于运算符<=:

#include <string>

#include <iostream>

using namespace std;

int main() {

string str1("hello");

string str2("world");

if (str1 == str2) {

cout << "str1 equals str2" << endl;

} else {

cout << "str1 does not equal str2" << endl;

}

return 0;

}

5. 总结

到这里,我们已经对C++中String类对象的用法进行了详细的总结。该类封装了许多方便的方法和运算符重载,能够很好地帮助我们处理字符串。希望读者能够学以致用,从而提高自己在C++编程方面的技艺。

后端开发标签