C++ string初始化、string赋值操作、string拼接操作

以下介绍了string的六种定义方式,还有很多,这个只是简单举例

cpp 复制代码
#include<iostream>

using namespace std;

int main() {
	
	//1 无参构造
	string s1;
	cout << s1 << endl;

	//2 初始化构造
	string s2 ({'h', 'h', 'l', 'l', 'o'});
	cout << s2 << endl;

	//3 字符串初始化
	string s3("xiaoxiao");
	cout << s3 << endl;
	
	//4 字符串的前n个字符
	string s4("xiaoxiaoxiao", 6);
	cout << s4 << endl;
	
	//5 拷贝构造
	string s5(s4);
	cout << s5 << endl;
	

	// a 个 b
	string s6(8, 'o');
	cout << s6 << endl;




    return 0;

}

以下是string的六种赋值操作,以下是代码

cpp 复制代码
#include<iostream>
using namespace std;

int main() {
	//1 字符串常量的赋值
	string s1;
	s1 = "xiaoxiao";
	cout << s1 << endl;

	//2 字符串变量的赋值
	string s2;
	s2 = s1;
	cout << s2 << endl;

	//3 字符常量赋值
	string s3;
	s3 = 'a';
	cout << s3 << endl;

	//4 assign 接口1
	string s4;
	s4.assign("xiaoxiao");
	cout << s4 << endl;

	//5 assign 接口2
	string s5;
	s5.assign("xiaoxiaoxiao", 8);
	cout << s5 << endl;

	//6 assign 接口3
	string s6;
	s6.assign(s5);
	cout << s6 << endl;

	//7 a个b
	string s7;
	s7.assign(8, '6');
	cout << s7 << endl;



}

string拼接操作,代码见下

cpp 复制代码
#include<iostream>

using namespace std;

int main() {
	// 1 + 运算符重载
	string s1 = "dada";
	string s2 = "xiao";

	s1 = s1 + s2;
	cout << s1 << endl;
	
	// 2 += 运算符重载
	string s3 = "dada";
	string s4 = "xiao";

	s4 += "daxiao";
	cout << s4 << endl;

	// 3 append
	string s5 = "abc";
	s5.append("def");
	s5.append("hijklmn", 4); // 取这个的前四个,进行对应字符串的拼接,这个4代表个数
	s5.append("opqrst", 2, 3);// 取从第二个开始,取三个进行拼接
    cout << s5 << endl;
	// 4 push_back
	string s6 = "abb";
	s6.push_back('6');
	cout << s6 << endl;




	return 0;
}
相关推荐
不知天地为何吴女士1 小时前
Day32| 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
算法
小坏坏的大世界1 小时前
C++ STL常用容器总结(vector, deque, list, map, set)
c++·算法
wjs20242 小时前
状态模式(State Pattern)
开发语言
我命由我123452 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle2 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜3 小时前
ART配对软件使用
开发语言·c++·qt·算法
qq_513970444 小时前
力扣 hot100 Day56
算法·leetcode
PAK向日葵4 小时前
【算法导论】如何攻克一道Hard难度的LeetCode题?以「寻找两个正序数组的中位数」为例
c++·算法·面试
爱装代码的小瓶子6 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
爱喝矿泉水的猛男7 小时前
非定长滑动窗口(持续更新)
算法·leetcode·职场和发展