C++泛型编程学习(3)

本文探讨了C++中string类的详细使用,包括构造函数、赋值操作、拼接、查找、替换、比较、读写、插入与删除等核心功能。对于替换操作,特别指出其本质是删除后插入。

|| 容器string内部封装的是一个类,其中封装的成员函数操作对象可以是string类,也可以是char型字符串

|| string类的构造函数 :(初始化)

string()默认构造
string  s2(const char * str) // string s2 (s1)    -- 拷贝构造(拷贝字符串或拷贝string)
string(int a, char b) 使用a个b初始化string

|| string的赋值操作

1,“ = ”赋值 (只能传入整个串)
成员函数原型:
	string & opetator=(const string & s) / (const char * s)操作符重载
2,assign赋值 (可以传入子串,和自定义重复串)
成员函数原型:  
    string & assign (const char * s) / (const char * s, int a)    ---   将s或s前a个字符赋值给string 	
	string & assign(const string & s) / (const string & s, int a) --- 将s或s除前a个字符后的所有字符值给string
	string & assign(int a, char ‘c’)      --- 将a个字符c 赋值给string
			!!!要注意assign传入的是char型还是string类!!!  

|| string的拼接 (拼接指的是拼到末尾)

1,“ += ”拼接:
	string& operator+=(const string & s) / (const char * s) / (const char c)操作符重载
2,append赋值:
	string& append (const char * s) / (const char * s, int n)   --- 将char型字符串或其前n个字符拼接在s末尾
	string& append(const string & s) / (const string & s, int pos, int end)  --- 见句如面

|| string的查找

	int find(const string & str, int pos = 0) // 默认从头开始找起  --- 查找并返回s中第一次出现子串str 的位置
	int rfind(const string & str, int pos = end) // 默认从尾开始找起  ---(从右向左)查找并返回s中第一次出现子串str 的位置

|| string的替换

	string& replace(int  pos, int num, const string& s) / (int  pos, int num, const char* s)
	---替换从pos位置开始的num个字符为s

|| string的比较(比较原理:逐个比较字符的ASCll码)

int compare(const string& s) / (const char * s) --- 若 = 则返回0(若>返回1,若<返回-1)

|| string的读写

1,“ [ ] ” 读取:
2,at 读取:

|| string的插入和删除 (插个话:替换的本质就是删除加插入)

1,插入:
	string& insert(int pos, const char* s) / (int pos, const string &s)
	string& insert(int pos, int a , char c)
2, 删除:
	string& erase(int pos, int a) --- 删除从pos开始的a个字符

|| string的子串

string& substr(int pos = 0, int npos = s.size() - pos)   (pos的默认值是0,n的默认值是s.size() - pos)

当有两个参数时:截取pos - npos的子串
当不带参数时:默认拷贝整个s
当只带一个参数时:此参数为头,默认第二个参数为字符串末尾
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值