C++(11)——string

本文详细介绍了C++中的string类对象的构造方法、赋值操作、访问与遍历、迭代器的使用、容量操作(包括size(),capacity(),reserve(),resize())以及修改内容(如push_back(),append(),operator+())等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      前面通过前面11篇文章介绍了C++中的各项基本知识。从本篇文章开始,将对C++中的string中的各项内容进行介绍:

目录

1.string类对象的常见构造:

2. string类对象的赋值操作:

3. string类对象的访问与遍历:

3.1 string类对象的访问:

3.2 string类对象的遍历:

4. 迭代器:

5.string类对象的容量操作:

5.1 size和capacity:

5.2 reserve和resize:

6. 对于对象中内容的修改:

6.1 push_back:

6.2 append:

6.3 operator +=:


1.string类对象的常见构造:

首先,对于string的使用,需要引入头文件:

#include<string>

        对于string类中的常见构造,可以通过string::string - C++ Reference (cplusplus.com)进行查询。具体如下:

       文章将对上述图片中某几个常用的函数进行介绍,其他函数的使用方法可以通过上方网址进行查阅。对于上述函数的作用,主要是用于创建一个string类对象。例如,创建一个空的string类对象的方法为:

int main()
{
	string s1;  //创建一个空的string类对象
	return 0;
}

    如果想创建一个包含内容的string类对象,其方法为:

string s2("hello world");

上述方法是使用了一个常量字符串来初始化这个string类对象。对应了上图中给出的:

string(const char* str)

在上图中,有一个函数中的参数包含了引用,即:

string( const char& str)

此函数的功能可以理解为一个拷贝构造函数,使用方法有如下两种:

string s3 = s2;
string s4(const char& s2);

对于string类对象的打印,直接使用cout即可,例如:

int main()
{
	string s1;  //创建一个空的string类对象
	string s2("hello world");
	string s3 = s2;

	cout << s1 << endl;
	cout << s2 << endl;
	cout << s3 << endl;
	return 0;
}

2. string类对象的赋值操作:

 对于string类对象的赋值操作,可以分为三类:

string& operator= (const string& str);
	
string& operator= (const char* s);
	
string& operator= (char c);

对于上面三类赋值操作的使用,如下所示:

s1 = s2;
cout << s1 << endl;

s1 = 'x';
cout << s1 << endl;

s1 = "hello worle";
cout << s1 << endl;

运行结果如下:

3. string类对象的访问与遍历:

3.1 string类对象的访问:

对于string类对象的访问,通过operator[]来实现。对于此函数,主要有两种形式:

char& operator[] (size_t pos);

const char& operator[] (size_t pos) const;

对于二者的不同点,可以认为第一种可读可写,但是第二种只能读。例如,访问上述代码中,s2中下标为

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

起床写代码啦!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值