STL小知识点——C++

一、STL概念

STL六大组件

境界:能用,明理,能扩展(能完成前两样就已经非常优秀了)

二、知识点大串讲

1、string类-管理字符串

1.1使用

a、string(const string& str); // 拷贝构造

b、string(const char* s)

c、string();

eg.string s1;

string s2("1111");

string s3(s2);

1.2

1.3遍历size接口

a、

迭代器:

b、

c、

c的底层就是b,底层就是迭代器,都是指针。加上&可以修改值,不加则不能修改

auto自动推导,从s2中提取数字,字符赋值自动迭代,自动判断结束。

不能做参数

能做返回值,但谨慎使用

范围for适用容器和数组(yyds)

1.4反向迭代器

a、

b、

const迭代器,只能读不能写/改

c、

但是用auto是真滴香!

auto rcit= s3.rbegin();

1.5 string s;

s.reserve(100); 提前开100空间,保留预留

size 10 n<10

capacity 20 10<n<20

这两个在vs中不会缩,在g++最多缩到size

n>20 扩容

eg1.将字符串反向输出

eg2.字符串第一个唯一字符

相关推荐
xq95271 小时前
leetcode 算法之合并两个有序数组
java
I'm Jie1 小时前
【已解决】SqlAlchemy 插入 MySQL JSON 字段时 None 变为 ‘null‘ 字符串,WHERE IS NULL 失效
数据库·python·mysql·json·fastapi·sqlalchemy
beata1 小时前
Java基础-11:充分理解Collection和Map接口集合底层实现和避坑指南
java·后端
阿猿收手吧!1 小时前
【C++】格式化库:告别繁琐,拥抱高效
开发语言·c++
俩娃妈教编程1 小时前
洛谷选题:P1055 [NOIP 2008 普及组] ISBN 号码
c++·算法
消失的旧时光-19431 小时前
第二十二课:领域建模实战——订单系统最小闭环(实战篇)
java·开发语言·spring boot·后端
悲伤小伞2 小时前
Linux_应用层自定义协议与序列化——网络计算器
linux·服务器·c语言·c++·ubuntu
J_liaty2 小时前
Java Stream流常用方法归纳整理
java·stream
Y001112362 小时前
Day19—集合进阶-3
java·开发语言