3.c++标准库
来源:互联网 发布:域名 海外服务器 编辑:程序博客网 时间:2024/06/05 06:12
1 using:
using namespace::name;
//using用来明确制定程序中变量名对应的命名空间
//一个using一次只能指定一个变量名
2 string
头文件: #include <string>
using std::string;
构造器:
string s1; //默认构造器, s1为空字符串
string s2(s1); //将s2初始化为s1的副本
string s3("value"); //将s3初始化为字面值字符串的副本
string s4(n, 'c'); //将s4初始化为'c'的n个副本
标准输入读取字符串: cin >> s;
标准输入读取字符串时,将忽略开头的所有空白符,
并在字符串再次遇到空白符时结束读取;
getline函数:
读取一行数据,不忽略空白符,遇到换行符则停止
输入。getline读取的字符串将去除最后的换行符。
string对象的常用操作:
s.empty(); //判空
s.size(); //判长
s1 + s2; //连接,可以将一个string对象和
一个字符串字面值相加,但是必须
注意不能将两个字面值直接相加。
s1 = s2; //赋值
s1 == s2; //等式比较
!=, <, <=, >, >= //非等式比较
string对象的内置类型:
string::size_type //拥有存储字符串足够长度的无符号数值类型
string下表操作:
string的下表操作可以访问对应下标的字符,下表操作可以充当左值。
3 vector对象:
vector 是一个类模板,可以创建同一类型对象的集合。
头文件: #include <vector>
using std::vector;
vector对象初始化:
vector<Type> v; //默认构造器
vector<Type> v2(v1); //副本初始化(用同类型vector对象初始化vector对象)
vector<Type> v3(n, i); //n元素初始值初始化
vector<Type> v4(n); //n元素默认值初始化
vector对象的常用操作:
v.empty(); //判空
v.size(); //判长
v.push_back(e); //追加元素
v[n]; //下表读取元素
v1 = v2; //把v1中的元素替换成v2元素的副本
v1 == v2; //等式比较
!=, <, <=, >, >= //非等式比较
vector 对象的内置类型:
vector<Type>::size_type
vector<Type>::difference_tye
vector<Type>::itertor
vector<Type>::const_iterator //只读迭代器,不能修改指向对象
4 迭代器:
依次遍历容器中元素的数据类型,实现遍历容器的通用方法;
vector<Type>::itertor itr = vec.begain(); //itr只想vec容器的第一个元素
vec.end(); //指向vec容器最后一个元素的
下一个位置,当容器为
空时,vec.begain() == vec.end()
迭代器的自增操作和解引用操作:
++itr; //迭代器将指向下一个元素
*itr; //获得当前指向对象的引用
#由于end()操作返回不指向任何元素的迭代器,因此不能对其进行自增操作和解引用操作。
const_iterator 和 const iterator:
const_iterator 是指向const元素对象的迭代器,它只能对元素进行只读操作;
const iterator 是const的迭代器,它一经初始化便不能改变其指向;
迭代器的算数操作:
itr += n; //迭代器加/减整型值等于向前或向后移动
itr -= n;
itr1 -itr2; //计算两个迭代器的距离(返回difference_type 的signed整形值)
5 bitset:
处理二进制位的有序集。
头文件:
#include <bitset>
using std::bitset;
初始化:
bitset<n> b; //b有n位,每位都为0;
bitset<n> b(u); //b是 unsigned long型 u 的副本;
bitset<n> b(s); //b是 string对象 s位串 副本,从右向左由低向高端依次读入数据
bitset<n> b(s, pos, n) //
bitset的基本操作:
#判断
b.any(); //存在1
b.none(); //不存在1
b.size(); //b中二进制位的个数
b.count(); //b中1的个数
#读取位
b.test(pos); //测试pos位置是否为1
b[pos]; //返回pos位置的值
#设置位
b.set();
b.reset();
b.flip();
b.set(pos);
b.reset(pos);
b.flip(pos);
#输出位串
b.to_ulong();
os << b;
using namespace::name;
//using用来明确制定程序中变量名对应的命名空间
//一个using一次只能指定一个变量名
2 string
头文件: #include <string>
using std::string;
构造器:
string s1; //默认构造器, s1为空字符串
string s2(s1); //将s2初始化为s1的副本
string s3("value"); //将s3初始化为字面值字符串的副本
string s4(n, 'c'); //将s4初始化为'c'的n个副本
标准输入读取字符串: cin >> s;
标准输入读取字符串时,将忽略开头的所有空白符,
并在字符串再次遇到空白符时结束读取;
getline函数:
读取一行数据,不忽略空白符,遇到换行符则停止
输入。getline读取的字符串将去除最后的换行符。
string对象的常用操作:
s.empty(); //判空
s.size(); //判长
s1 + s2; //连接,可以将一个string对象和
一个字符串字面值相加,但是必须
注意不能将两个字面值直接相加。
s1 = s2; //赋值
s1 == s2; //等式比较
!=, <, <=, >, >= //非等式比较
string对象的内置类型:
string::size_type //拥有存储字符串足够长度的无符号数值类型
string下表操作:
string的下表操作可以访问对应下标的字符,下表操作可以充当左值。
3 vector对象:
vector 是一个类模板,可以创建同一类型对象的集合。
头文件: #include <vector>
using std::vector;
vector对象初始化:
vector<Type> v; //默认构造器
vector<Type> v2(v1); //副本初始化(用同类型vector对象初始化vector对象)
vector<Type> v3(n, i); //n元素初始值初始化
vector<Type> v4(n); //n元素默认值初始化
vector对象的常用操作:
v.empty(); //判空
v.size(); //判长
v.push_back(e); //追加元素
v[n]; //下表读取元素
v1 = v2; //把v1中的元素替换成v2元素的副本
v1 == v2; //等式比较
!=, <, <=, >, >= //非等式比较
vector 对象的内置类型:
vector<Type>::size_type
vector<Type>::difference_tye
vector<Type>::itertor
vector<Type>::const_iterator //只读迭代器,不能修改指向对象
4 迭代器:
依次遍历容器中元素的数据类型,实现遍历容器的通用方法;
vector<Type>::itertor itr = vec.begain(); //itr只想vec容器的第一个元素
vec.end(); //指向vec容器最后一个元素的
下一个位置,当容器为
空时,vec.begain() == vec.end()
迭代器的自增操作和解引用操作:
++itr; //迭代器将指向下一个元素
*itr; //获得当前指向对象的引用
#由于end()操作返回不指向任何元素的迭代器,因此不能对其进行自增操作和解引用操作。
const_iterator 和 const iterator:
const_iterator 是指向const元素对象的迭代器,它只能对元素进行只读操作;
const iterator 是const的迭代器,它一经初始化便不能改变其指向;
迭代器的算数操作:
itr += n; //迭代器加/减整型值等于向前或向后移动
itr -= n;
itr1 -itr2; //计算两个迭代器的距离(返回difference_type 的signed整形值)
5 bitset:
处理二进制位的有序集。
头文件:
#include <bitset>
using std::bitset;
初始化:
bitset<n> b; //b有n位,每位都为0;
bitset<n> b(u); //b是 unsigned long型 u 的副本;
bitset<n> b(s); //b是 string对象 s位串 副本,从右向左由低向高端依次读入数据
bitset<n> b(s, pos, n) //
bitset的基本操作:
#判断
b.any(); //存在1
b.none(); //不存在1
b.size(); //b中二进制位的个数
b.count(); //b中1的个数
#读取位
b.test(pos); //测试pos位置是否为1
b[pos]; //返回pos位置的值
#设置位
b.set();
b.reset();
b.flip();
b.set(pos);
b.reset(pos);
b.flip(pos);
#输出位串
b.to_ulong();
os << b;
0 0
- C标准库“圣经”:C标准库
- 标准c++ 库
- C标准库[转]
- C标准库
- (不错)C标准库
- C标准库
- C语言标准库
- C标准库“圣经”
- 解读《C标准库》
- C标准库
- c 标准库
- c标准库
- c标准库
- C标准库断言
- C标准库
- C 标准库
- C标准库
- C标准库
- 字符编码笔记:ASCII,Unicode和UTF-8
- 配置hadoop 公平调度器(cdh版)
- 20140303 servlet 李家振
- 自定义PreferenceActivity方法汇总
- ORACE_RMAN备份恢复001_完全恢复全过程演示
- 3.c++标准库
- Solr 20140303 http 500 错误
- 玄机逸士的专栏 对象内存布局 专题链接
- (intermediate) 网络流(时序模型+离散化) UVA 11167 - Monkeys in the Emei Mountain
- zend_Application 流程
- JAVA类继承过程中其成员的一些问题
- 单点登录
- windbg常用命令
- Oracle学习之创建数据库(新建实例)