第 33课 C++中的字符串(上)
2024-09-08 06:23:47
历史的遗留问题
在C语言中没有真正意义上的字符串,为了表达字符串这个概念利用字符数组来模拟字符串。
C语言不支持真正意义上的字符串 (C++也不支持)
C语言用字符数组和一组函数实现字符串操作 (C++中同样支持)
C语言不支持自定义类型,因此无法获得字符串类型。(C++中支持自定义类型)
解决方案:
从C到C++的进化过程引入了自定义类型
在C++中可以通过类完成字符串类型的定义
问题:
C++中的原生类型系统是否包含字符串类型?
标准库中的字符串类
C++语言直接支持C语言的所有概念
C++语言中没有原生的字符串类型
C++标准库提供了string类型
-string直接支持字符串连接(通过重载+这个操作符)
-string直接支持字符串的大小比较 (通过重载大小操作符实现)
-string直接支持子串查找和提取
-string直接支持字符串的插入和替换
字符串类的使用
#include <iostream>
#include <string> using namespace std; void string_sort(string a[], int len)
{
for(int i=; i<len; i++)
{
for(int j=i; j<len; j++)
{
if( a[i] > a[j] )
{
swap(a[i], a[j]);
}
}
}
} string string_add(string a[], int len)
{
string ret = ""; for(int i=; i<len; i++)
{
ret += a[i] + "; ";
} return ret;
} int main()
{
string sa[] =
{
"Hello World",
"D.T.Software",
"C#",
"Java",
"C++",
"Python",
"TypeScript"
}; string_sort(sa, ); for(int i=; i<; i++)
{
cout << sa[i] << endl;
} cout << endl; cout << string_add(sa, ) << endl; return ;
}
最新文章
- app字体被放大效果发虚
- SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
- IOS RunLoop 常驻线程的实现
- 《JavaScript高级程序设计》 - 读书笔记 - 第5章 引用类型
- 突破python缺陷,实现几种自定义线程池 以及进程、线程、协程的介绍
- 注解的基本盘点 -- 《Java编程思想》
- 习题-任务2初始ASP.NET MVC项目开发
- WorldWind源码剖析系列:BMNG类构造函数深入分析
- cf.VK CUP 2015.B.Mean Requests
- Linux后门入侵检测
- HDU 1176 免费馅饼(DP)
- 《C#并行编程高级教程》第3章 命令式任务并行 笔记
- 理解WebKit和Chromium: Android 4.4 上的Chromium WebView
- 使用 Nginx 内置 $http_user_agent 来区分( 电脑 pc、手机 mobile、平板 pad )端的内容访问
- 调参贝叶斯优化(BayesianOptimization)
- Hbase思维导图之逻辑结构
- ubuntu16.04配置anaconda环境
- 【python系列】python初识
- SQL基础日期函数
- IO流程及优化
热门文章
- Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)
- 最短路问题的三种算法&;模板
- hdu6492 暴力预处理 + 枚举
- Physically Based Shader Development for Unity 2017 Develop Custom Lighting Systems (Claudia Doppioslash 著)
- Redis系列1——概述
- VBA实战 - 一个简单的 httplib
- PDF文件添加二维码水印教程
- redis之GeoHash
- .NET Core on K8S快速入门课程--学习笔记
- NET Excel转换为集合对象