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.字符串第一个唯一字符

相关推荐
云烟成雨TD2 分钟前
Spring AI Alibaba 1.x 系列【69】Token 用量统计
java·人工智能·spring
JAVA9656 分钟前
JAVA面试-并发篇 03-使用synchronized doublecheck实现单例有什么坑
java·单例模式·面试
在繁华处8 分钟前
Java从零到熟练(四):面向对象基础
java·开发语言
Unbelievabletobe10 分钟前
解决了股票api接口盘后数据更新慢的问题
大数据·开发语言·python
cany100010 分钟前
C++ -- 可变参数模板
c++
不会C语言的男孩1 小时前
C++ Primer 第2章:变量和基本类型
开发语言·c++
lpd_lt2 小时前
AI Coding的常用Prompt技巧
python·ai·ai编程
小江的记录本2 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试
在繁华处2 小时前
Java从零到熟练(三):流程控制
java·开发语言·python
唐青枫2 小时前
Java Optional 实战指南:优雅处理空值与链式转换
java