chdoca的个人博客分享 http://blog.sciencenet.cn/u/chdoca

博文

C++Primer学习笔记

已有 3316 次阅读 2012-5-4 11:46 |系统分类:科研笔记| 学习

第三章      标准库类型(5.4

 

 

本章介绍C++定义的高级抽象数据类型,包括stringvectorbitset,另外还简单介绍了命名空间的using声明和迭代器。

 

知识点:

命名空间的using 声明一般不放在头文件里,而是在各个源文件的开头使用。

 

标准库string类型:

初始化方式:string s  string s(s1)  string s(“nbcj”)  string s(n,’a’)

从标准输入读取string时,以空格为结束符,与C不同,将字符串字面值赋值给string 对象时不会在结尾处加‘’。

String操作:s.empty()  s.size()  s[n]  s1+s2  s1=s2  s1==s2  != < <= > >=

String对象的下标是size_type类型的unsigned,定义为string::size_type index

当进行string对象和字符串字面值混合连接操作时,+操作符左右两边至少要有一个string类型的。

String 对象中字符的处理用到cctype头文件里的函数。

标准库vector类型:

Vector不是一种数据类型,而是类模板,需要对数据类型进行指定,如vector<int>

这样才是一个数据类型。

Vector对象的初始化:vector<T>v  vector<T>v(v1)  vector<T>v(n,i)  vector<T>v(n)

Vector对象的操作:v.empty()  v.size()  v.push_back()  v[n]  v1=v2  v1==v2 !=<>ó=

迭代器:类似于C中的指针;定义如:vector<int>::iterator iter

Beginend分别指向vector第一个元素和最后一个元素的下一个元素。

*iter为解引用操作。在for循环中,使用迭代器比下表更高效。

Const_iteratoriterator可以改变但不能改变修改其指向的元素的值;const vector<int>::itertoriterator的值不能改变,即iterator 始终指向一个元素,注意两者的区别。迭代器的算术操作包括减法运算,因此可能产生负值,用difference_type来定义此类型,如:vector<int>:: difference_type index

标准库bitset类型:bitset对象中大小变量定义为size_t类型,如size_t sz=b.size()size_t定义在cstddef头文件中。



https://blog.sciencenet.cn/blog-691244-566873.html

上一篇:C++Primer学习笔记
下一篇:C++Primer学习笔记
收藏 IP: 210.77.8.*| 热度|

1 覃开蓉

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-27 20:57

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部