C++ 系统String类详解

 更新时间:2021年11月01日 11:15:30   作者:ALL IN C  
这篇文章主要介绍了C++的系统String类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、C++ 系统String类

除了使用字符数组来处理字符串以外,c++引入了字符串类型。可以定义字符串变量。

1.定义及初始化

#include <iostream>
#include <string.h>
using namespace std;
int main()
{
	string str;
	str = "china";
	string str2 = " is great ";
	string str3 = str2;
	cout<<str<<str2<<endl<<str3<<endl;
	return 0;
}

输出结果

2.类型大小

cout<<"sizeof(string) = "<<sizeof(string)<<endl;
cout<<"sizeof(str) = "<<sizeof(str)<<endl;

输出结果

3.常用运算

1.赋值

string str3 = str

2.加法

string combine = str + str2;
cout<<combine<<endl;

3.关系

#include <iostream>
#include <string.h>
using namespace std;
int main()
{
	string s1 = "abcdeg";
	string s2 = "12345";
	if(s1>s2)
		cout<<"s1>s2"<<endl;
	else
		cout<<"s1<s2"<<endl;
	string s3 = s1+s2;
	cout<<s3<<endl;
	return 0;
}

输出结果

4.常见的成员函数

1.下标操作

char & operator[](int n) ;

2.求串大小

int size();

3.返回c串(c语言中的字符串也叫c串)

char *c_str();

4.查找

int find(char c, int pos = 0);
int find(char * s, int pos = 0);
//返回下标值,没有找到返回-1,默认从 0 下标开

5.删除

string &erase(int idx=0,int n = npos);
//作用是删除从 idx 开始,往后数 n 位的字符串

6.交换swap

void swap(stirng &s2);

5.string类型数组

#include <iostream>
#include <string.h>
using namespace std;
int main()
{
	string sArray[10] = {
	"0",
	"1",
	"22",
	"333",
	"4444",
	"55555",
	"666666",
	"7777777",
	"88888888",
	"999999999",
	};
	for(int i=0; i<10; i++)
	{
		cout<<sArray[i]<<endl;
	}
	return 0;
}

string 数组是高效的,如果用二维数组来存入字符串数组的话,则容易浪费空间,此时列数是由最长的字符串决定。如果用二级指针申请堆空间,依据大小申请相应的空间,虽然解决了内存浪费的问题,但是操作麻烦。用 string 数组存储,字符串数组的话,效率即高又灵活。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 教你Clion调试ROS包的方法

    教你Clion调试ROS包的方法

    Clion是一款专门开发C以及C++所设计的跨平台的IDE,本文给大家介绍Clion调试ROS包的方法,感兴趣的朋友跟随小编一起看看吧
    2021-07-07
  • C语言菜鸟基础教程之a++与++a

    C语言菜鸟基础教程之a++与++a

    很多同学在学习c语言的时候是不是会碰到a++和++a都有甚么作用啊。今天我们就来探讨下
    2017-10-10
  • C语言实现字符串替换的示例代码

    C语言实现字符串替换的示例代码

    本文主要介绍了C语言实现字符串替换的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • C++中的异常处理机制详解

    C++中的异常处理机制详解

    本文给大家分享的是C++中的异常处理机制。对如何处理异常、基本异常语法、异常保护代码等进行了探讨,推荐给大家。
    2017-04-04
  • 浅析顺序结构存储的栈

    浅析顺序结构存储的栈

    这篇文章主要介绍了顺序结构存储的栈,有需要的朋友可以参考一下
    2014-01-01
  • C实现不定长数组的示例

    C实现不定长数组的示例

    今天小编就为大家分享一篇C实现不定长数组的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • C++自动析构时的顺序问题

    C++自动析构时的顺序问题

    这篇文章主要介绍了C++自动析构时的顺序,通过实例代码给大家讲解了C++ 构造与析构的执行顺序,代码简单易懂,非常不错对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • C++中的覆盖和隐藏详解

    C++中的覆盖和隐藏详解

    这篇文章主要介绍了C++中重载、重写(覆盖)和隐藏的区别,是C++面向对象程序设计非常重要的概念,需要的朋友可以参考下,希望能够给你带来帮助
    2021-08-08
  • 用C语言实现单链表的各种操作(一)

    用C语言实现单链表的各种操作(一)

    本篇文章是对用C语言实现单链表的各种操作进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++可视化角色按键移动控制的实现

    C++可视化角色按键移动控制的实现

    这篇文章主要介绍了C++可视化角色按键移动控制的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-03-03

最新评论