C/C++学习笔记-标准库类型
来源:互联网 发布:海康ddns域名取消了 编辑:程序博客网 时间:2024/05/18 04:40
——————警告自己,当你在年纪轻轻就无所事事的时候,那么你就“危险”了。上坡路是很累的,当你觉得轻松的时候,那么你便是在走下坡路。出自《沃兹基索德》
个
1、string类型
区别于java里面的String,首先大小写不一样。习惯java语言格式的时候需要注意。使用步骤:
a:引入头文件<string>//注意用尖括号,因为属于系统头文件,区别于c的头文件,没有后缀“.h”;
b:命名空间,using std::string//主要是防止名字冲突;
string操作:(简单列举一下,和Java的使用和意义基本一致)
s.empty()//判断为空;
s.size();//获取字符串字符个数
s1+s2;//拼接操作;
==//比较内容
注意的是:“hello”+“world”//error,均为右值不能拼接。此时“+”被当成加运算符,所以报错。
size()函数返回的类型最好不要用int,具体原因是int的内存太小,出错不好检错。而C++规定了size的返回类型 string::size_type;
遍历一般做法也有点区别:for(string::size_type idx = 0;idx != s.size();idx++)//区别在于size返回类型,以及判决条件(以后再讲)
string中字符的处理函数如下表://字符的处理而不是字符串
如果参数是标准空白字符,如空格、进纸、换行符、回车
、水平制表符或者垂直制表符,该函数返回true
isupper()如果参数是大写字母,该函数返回trueisxdigit()如果参数是十六进制的数字,即0~9、a~f、A~F,该函数返回truetolower()如果参数是大写字符,则返回其小写,否则返回该参数toupper()如果参数是小写字母,则返回其大写,否则返回该参数2、vector
容器vector的使用方法类似于Java的collection集合(List、Set)等,都是可以动态的将对象加到末尾。操作方法也差不多。同样和string一样,需要假如头文件以及命名空间、
a:引入头文件<vector>//注意用尖括号,因为属于系统头文件,区别于c的头文件,没有后缀“.h”;
b:命名空间,using std::vector//主要是防止名字冲突;
vector<string> vec;
使用vec.push_back();//将对象添加到末尾。
这里取值可以用下标的形式取值。vec[4],取的第5个元素。
迭代器
在java中遍历集合通常使用迭代器。那么容器vector也是一样。代码:
vector<string> ::iterator iter = vec.begin();
如要访问元素可用解引用的方式:*iter
实际上还有一种迭代器只使用与访问,也就是说不能修改。代码:
vector<string>::const_iterator iter = vec.begin();
3、bitset
bitset位操作,定义和上面两个一样。注意的是:对于字符串初始化bitset时,代码
string str("1100");
bitset<32> bitvec(str);
bitvec位模式中第2位和第3位位置为1,也就是说,string对象和bitset对象之间是反向转化的,当用string对象初始化bitset对象时,顺序是相反的。
b.any()
b中是否存在置为1的二进制位?
b.none()
b中不存在置为1的二进制位吗?
b.count()
b中置为1的二进制位的个数
b.size()
b中二进制位的个数
b[pos]
访问b中在pos处的二进制位
b.test(pos)
b中在pos处的二进制位是否为1?
b.set()
把b中所有二进制位都置为1
b.set(pos)
把b中在pos处的二进制位置为1
b.reset()
把b中所有二进制位都置为0
b.reset(pos)
把b中在pos处的二进制位置为0
b.flip()
把b中所有二进制位逐位取反
b.flip(pos)
把b中在pos处的二进制位取反
b.to_ulong()
用b中同样的二进制位返回一个unsigned long值
os << b
把b中的位集输出到os流
- 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++:标准库类型
- C++Primer学习笔记第三章(3/18) 标准库类型
- C/C++学习笔记33:C++中标准库string类型
- C++Primer 标准库类型
- [C++]标准库类型容器
- 基于TensorFlow理解三大降维技术:PCA、t-SNE 和自编码器
- Java 相关知识的学习(第一章至第三章)
- IDEA:Error:java:无效的目标发行版:1.8
- Hello
- LAB 4
- C/C++学习笔记-标准库类型
- 教你上传代码到码云
- javascript中常用方法
- 将整数列表转化为字符串列表
- 观察者模式之双十一购物
- DataSet 用法
- make 入门教程
- 二叉树四种遍历代码解析
- Windows下搭建gitbook