浅谈字符串的定义(c++)非常详细,建议收藏

前言

C++ 有一个新的数据类型——字符串类型。这里的 string 是 C++ 所独有的,C语言没有。

string 的定义

第1种

string s("Initial string");

定义一个值为 Initial string 的字符串 s s s,包括空格。
第1种定义方式的输出s

第2种

string s;

定义一个空字符串 s s s
第2种定义方式的输出s

第3种

string s0("Initial string");
string s(s0);

定义一个 s 0 s0 s0 字符串的copy字符串 s s s

第3种定义方式的输出s

第4种

string s0("Initial string");
string s(s0,8,3);

定义一个字符串 s 3 s3 s3,该字符串的值为从 s 0 s0 s0 的第 8 8 8 位开始,长度为 3 3 3 的字符串。

注意:我们所数的 s 0 s0 s0 的第一位实际为字符串中 s 0 s0 s0 的第 0 0 0 位,所以 s 0 s0 s0 的第 8 8 8 位是 s,即正常数的第 9 9 9 位。
第4种定义方式的输出s

第5种

string s("A character sequence",6);

定义一个字符串 s s s,值为 A character sequence 字符串中的 0 ∼ 6 − 1 0\sim6-1 061 位。
第5种定义方式的输出s

第6种

string s(10,'x');

定义一个字符串 s s s,值为10个 x
第6种定义方式的输出s

第7种

string s(10,42);

42对应 ASCII 表中的 *,所以,定义一个字符串 s s s,值为10个 *
第7种定义方式的输出s

第8种

string s0("Initial string");
string s(s0.begin(),s0.begin()+7);

begin() 是string类中的一个成员函数,代表 s 0 s0 s0 的第 0 0 0 位, s 0. b e g i n ( ) + 7 s0.begin()+7 s0.begin()+7 则代表 s 0 s0 s0 的第 6 6 6 位。

该定义等同于 string s(s0,0,7);
第8种定义方式的输出s

汇总

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string s0("Initial string");//定义一个值为Initial string的字符串s,包括空格。 
	cout<<"s0:"<<s0<<endl;
	string s1;//定义一个空字符串s。
	cout<<"s1:"<<s1<<endl;
	string s2(s0);//定义一个s0字符串的copy字符串s2。
	cout<<"s2:"<<s2<<endl;
	string s3(s0,8,3);
	//定义一个字符串s3,该字符串的值为从s0的第8位开始,长度为3的字符串。
	//注意:我们所数的s0的第一位实际为字符串中s0的第0位,所以s0的第8位是's',即正常数的第9位。 
    string s4("A character sequence",6);
    cout<<"s4:"<<s4<<endl;
    //定义一个字符串s4,值为 A character sequence 字符串中的0~6-1位。 
	string s5(10,'x');//定义一个字符串s5,值为10个'x'。 
	cout<<"s5:"<<s5<<endl; 
	string s6(10,42);//42对应ASCII表中的*,所以,定义一个字符串s6,值为10个*。 
    cout<<"s6:"<<s6<<endl;
    string s7(s0.begin(),s0.begin()+7);
	cout<<"s7:"<<s7<<endl;
	//begin()是string类中的一个成员函数,代表s0的第0位,s0.begin()+7则代表s0的第6位。
	//该定义等同于 string s8(s0,0,7); 
	return 0;
}

在这里插入图片描述


创作不易,希望点赞+收藏。

关注作者 PineappleSummer,学习更多实用算法知识!

下期预告:浅谈string的输入和输出(c++)

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值