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;
}
相关推荐
柯南二号12 分钟前
【Java后端】MyBatis-Plus 原理解析
java·开发语言·mybatis
INS_KF18 分钟前
【C++知识杂记2】free和delete区别
c++·笔记·学习
一只鱼^_26 分钟前
牛客周赛 Round 105
数据结构·c++·算法·均值算法·逻辑回归·动态规划·启发式算法
是阿建吖!27 分钟前
【动态规划】斐波那契数列模型
算法·动态规划
ikkkkkkkl28 分钟前
C++设计模式:面向对象设计原则
c++·设计模式·面向对象
我是哈哈hh32 分钟前
【Node.js】ECMAScript标准 以及 npm安装
开发语言·前端·javascript·node.js
啊阿狸不会拉杆1 小时前
《算法导论》第 27 章 - 多线程算法
java·jvm·c++·算法·图论
重启的码农1 小时前
ggml介绍 (8) 图分配器 (ggml_gallocr)
c++·人工智能·神经网络
火车叨位去19491 小时前
力扣top100(day04-05)--堆
算法·leetcode·职场和发展
数据智能老司机1 小时前
面向企业的图学习扩展——面向图的传统机器学习
算法·机器学习