c++标准库类型笔记 自己学习备忘用的
来源:互联网 发布:歌曲字幕特效软件 编辑:程序博客网 时间:2024/06/08 00:50
c++提供了一个内容丰富的抽象数据类型标准库 迭代器
string vector bitset抽象的高级数据结构
string类型支持长度可变的字符串 vector可用于保存一组指定类型的对象
string类型常用的构造函数,当没有指定对象初始化时,系统将使用默认的构造函数
string s1;默认构造函数
string s2(s1); //将s2初始化为s1的副本
string s2("adsfasdfasfas");//初始化为一个字符串的副本
string s4(n,'c')//初始化为字符'c'的n个副本
可以用标准输入输出来读写字符串
接受带空格的字符串
getline(cin,s1);
//cin.getline(s1);,//没成功不知道啥问题
getline函数返回时丢弃换行符,换行符丢弃,将不会储存在string中
string 字符串的下标应该为一个sizetype型 在string中string::size_type(类型为 unsigned类型)
// string s("a111");
for(int i=0;i<s.size();++i)
cout<<s[i];
没问题
vector 同种类型的对象的集合
vector 是一个模版类
几种vector初始化
vector<T> v1;
vector<T> v2(v1);
vector<T> V3(n,i);
vector<T> v4(n);
vector对象(以及其他标准容器对象)的重要属性就在于可以在运行是高效地添加元素,因为vector增长的效率搞,在元素值已知的情况下,最好动态添加元素
vector与string类型使用size_type
vector<int>::size_type 必须指明类型
#include <vector>
#include <iostream>
push_back//方法向vector加入数据
string out;
vector<string> v;
while(cin>>out){
v.push_back(out);
}
vector下标操作只能针确认存在的元素操作 试图获取不存在元素将产生运行时错误
除了下标访问元素外,还可以使用迭代器遍历容器元素,标准库为每种元素定义了一个迭代器,
vector<int>::iterator ite; 其实迭代器类是指针,指向容器的某个元素
vector<int>::iterator ite=vector.begin();//指向vector的第一个元素
vector<int>::iterator ite=vector.end();//返回末端元素的下一个,并不指向真正的元素,表示容器的元素都处理完了
迭代器可使用解引用操作符(*操作符) 来访问迭代器所指向的元素 很类似指针
*ite =0;由end操作返回的迭代器不知向任何元素,一次不能对它进行解引用或自增操作
如果容器为空则begin返回的iterator和 end返回的不同
两种迭代器 iterator 和const_iterator 只读迭代器const_iterator
bitset 位集
bitset<n> b; b有n为 每位都为0
bitset<n> b(s) ,b是string对象s中含有的位串的副本
bitset<n> b(str,len,begin);//转入bieset还是反向的
string对象和bitset是反向转化的
string s="1100"
bitset<n> b(s);那么bitset的23位为1其余的为0
b.to_ulong有位集中同样的二进制位返回一个unsigned long类型的数据
- c++标准库类型笔记 自己学习备忘用的
- C/C++学习笔记-标准库类型
- linux & C++Primer 学习笔记--标准库vector类型
- c++primer学习笔记(3.2)标准库string类型
- c++primer学习笔记(3.3)标准库vector类型
- c++primer学习笔记(3.5)标准库bitset类型
- 【C++Primer学习笔记】第3章 标准库类型
- c++primer学习笔记2 - 标准库类型
- C++Primer 学习笔记 第三章(标准库类型)
- C++Primer学习笔记3 标准库类型
- C++primer学习笔记-第三章标准库类型
- c++primer学习笔记-----3.2标准库类型string
- c++primer学习笔记-----3.3标准库类型vector
- 《C标准库》学习笔记
- 学习笔记--C标准库的setlocale()用法笔记
- C++标准库类型vector学习笔记
- 【C++学习笔记】标准库类型string
- 【C++学习笔记】标准库类型vector
- error: two or more data types in declaration specifiers
- CToolBar CImageList 实现工具栏及提示功能 ON_NOTIFY_EX(TTN_NEEDTEXT, 0, OnToolTip)
- 深入理解android卷II 即将发布
- Filefilter使用
- Android widget 组件
- c++标准库类型笔记 自己学习备忘用的
- 220. History repeats itself. 历史往往重演
- .NET 面试题总结 (附有参考答案) 第1部分
- 设计页面时可否“左右撇子”兼顾之?
- [Mark] netmap - a novel framework for fast packet I/O
- 初学者VS2005 .Net WebService使用(一)- 创建WebService 三步曲
- .NET 面试题总结 (附有参考答案) 第2部分
- 学习java第一天---------------java源文件的命名规则
- UNP函数笔记十七: 客户/服务器程序设计范式