C++学习笔记

C++学习笔记

算法组

STL将算法库分成4组:

  • 非修改式序列操作;
  • 修改时序列操作;
  • 排序和相关操作;
  • 通用数字运算
    前三组在头文件algorithm中描述,第四组是专用于数值数据的,有自己的头文件,称为numeric.

函数和容器方法

有时候可以选择使用STL方法或者STL函数,但是STL方法更适合于特定的容器,其次,作为成员函数,它可以使用模板类的内存管理工具,从而在需要时调整容器的长度。

举个例子
如果要删除链表中的某个特定值的所有实例。以la是一个list对象,则调用该函数的代码如下:

la.remove(4);

调用该方法后,链表中所有值为4的元素都将被删除,同时链表的长度将被自动调整。
还可以使用一个名为remove()的STL算法,它的调用方法如下

remove{la.begin(), la.end(), 4};

string类

string类将string::npos定义为字符串的最大长度,通常为unsigned int的最大值。以下是string类的构造函数,表格中使用缩写NBTS(null-terminated string)来表示以空字符结束的字符串–传统的C字符串。
string类的构造函数:

构造函数描述
string(const char* s)将string对象初始化为s指向的NBTS
string(size_type n, char c)创建一个包含n个元素的string对象,其中每个元素都被初始化为字符c
string(const string & str)将一个string对象初始化为string对象str(复制构造函数)
string()创建一个默认的string对象,长度为0(默认构造函数)
string(const char* s, size_type n)将string对象初始化为s指向的NBTS的前n个字符,即使超过了NBTS结尾
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值