STL —— string

本文介绍了STL(Standard Template Library)的基本概念及其在C++中的应用。STL由一系列容器如list、vector、set、map等组成,并包含了丰富的算法。文章还详细列举了string类的各种操作方法及ctype头文件中的辅助函数。

1.什么是STL:

  STL = Standard Template Library,标准模板库惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用额外安装什么。

2.标准模板库  STL被内建在你的编译系统之内。

  在C++标准中,STL被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>。

 

3.string的使用说明 

 1 begin 得到指向字符串开头的iterator
 2 end 得到指向字符串结尾的iterator
 3 rbegin 得到指向反向字符串开头的iterator
 4 rend 得到指向反向字符串结尾的iterator
 5 size 得到字符串的大小
 6 length 和size函数功能相同
 7 max_size 字符串可能的最大大小
 8 capacity 在不重新分配内存的情况下,字符串可能的大小
 9 empty 判断是否为空
10 operator[] 取第几个元素,相当于数组  //索引类型为string::size_type,即unsiged int
11 c_str 取得C风格的const char* 字符串
12 data 取得字符串内容地址
13 operator= 赋值操作符
14 reserve 预留空间
15 swap 交换函数
16 insert 插入字符
17 append 追加字符
18 push_back 追加字符
19 operator+= += 操作符
20 erase 删除字符串
21 clear 清空字符容器中所有内容
22 resize 重新分配空间
23 assign 和赋值操作符一样
24 replace 替代
25 copy 字符串到空间
26 find 查找  //找到了返回索引值,没找到返回string::npos
27 rfind 反向查找
28 find_first_of 查找包含子串中的任何字符,返回第一个位置
29 find_first_not_of 查找不包含子串中的任何字符,返回第一个位置
30 find_last_of 查找包含子串中的任何字符,返回最后一个位置
31 find_last_not_of 查找不包含子串中的任何字符,返回最后一个位置
32 substr 得到字串
33 compare 比较字符串
34 operator+ 字符串链接
35 operator== 判断是否相等
36 operator!= 判断是否不等于
37 operator< 判断是否小于
38 operator>> 从输入流中读入字符串
39 operator<< 字符串写入输出流
40 getline 从输入流中读入一行

 

在操作string时,可能需要用到以下函数:

这些函数包含在ctype头文件里。

 1 isalnum  //是数字
 2 isalpha //是字母
 3 iscntrl //是控制字符
 4 isdigit //是数字
 5 isgraph //空格
 6 islower //是小写字母
 7 isprint //是可打印字符
 8 ispunct //是标点符号
 9 isspace //是空白字符
10 isupper //是大写字母
11 isxdigit //是十六进制
12 tolower //转换为小写
13 toupper //转换为大小

 

更多STL介绍,请猛击此处。。。

http://msdn.microsoft.com/zh-CN/library/vstudio/c191tb28(v=vs.100).aspx

或在MSDN上浏览此页

ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vcstdlib/html/59f76cd1-cf9d-4802-b9eb-d4b9cbe015d9.htm

需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)内容概要:本文围绕需求响应动态冰蓄冷系统及其优化策略展开研究,结合Matlab代码实现,探讨了在电力需求侧管理背景下,冰蓄冷系统如何通过优化运行策略参与需求响应,以实现削峰填谷、降低用电成本和提升能源利用效率的目标。研究内容包括系统建模、负荷预测、优化算法设计(如智能优化算法)以及多场景仿真验证,重点分析不同需求响应机制下系统的经济性和运行特性,并通过Matlab编程实现模型求解与结果可视化,为实际工程应用提供理论支持和技术路径。; 适合人群:具备一定电力系统、能源工程或自动化背景的研究生、科研人员及从事综合能源系统优化工作的工程师;熟悉Matlab编程且对需求响应、储能优化等领域感兴趣的技术人员。; 使用场景及目标:①用于高校科研中关于冰蓄冷系统与需求响应协同优化的课题研究;②支撑企业开展楼宇能源管理系统、智慧园区调度平台的设计与仿真;③为政策制定者评估需求响应措施的有效性提供量化分析工具。; 阅读建议:建议读者结合文中Matlab代码逐段理解模型构建与算法实现过程,重点关注目标函数设定、约束条件处理及优化结果分析部分,同时可拓展应用其他智能算法进行对比实验,加深对系统优化机制的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值