第三章 标准库类型

原创 2011年01月15日 22:39:00

3.1命名空间的using声明

语法:using namespace :: name

例如:

#include<iostream>

using namespace std;//或者using std::cin;

3.2标准库string 类型

1string 类型支持长度可变的字符串

 

2)初始化的方式:

string s1;

string s2(s1);

string s3(“loving u~”);

string s4(n,’q’);

 

3)输入输出

cin>>stringMenber;//不包括空格和换行符 例如:  hello world   ->hello

while(getline(cin,stringMember));//保存当行信息直到换行符为止

 

4)存放stringMember.size()返回值的应该是string::size_type类型,不是int.所以对于stringMember[index]的索引index最好也是使用string :: size_type类型。

 

处理单独字符

#include<cctype>

isalnum(c);//字母或者数字

isalpha(c);//字母

iscntrl(c);//控制字符

isdigit(c);//数字

islower(c);//小写

isgraph(c);//不是空格但是能打印

isprint(c);//可以打印

ispunct(c);//是标点

isspace(c);//是空白字符

isupper(c);//大写

isxdigit(c);//十六进制

tolower(c);//返回当前字母的小写

toupper(c);//返回大写

33标准库vector类型

1)头文件

#include<vector>

using std::vector;

vector<int> a;

 

2)初始化:

vector<T> v1;

vector<T> v2(v1);

vector<T> v3(n,i);

vector<T> v4(n);

 

3)虽然可以初始化元素个数,但是更加有效的方法是动态增加元素(push_back)

 

4size()的返回类型同string 类似,是vector::size_type

3.4 迭代器简介

1)使用方法

vector<int>::iterator iter;

*iter=0;//ivec[当前index]=0;

iter++;//即索引下一个元素

 

2ivec.end()不指向具体的元素,只是一个flag

 

3vector<int >::const_iterator iter;//只能看不能写

 

4)迭代器可以进行加减操作,由于可能出现负数,结果类型为:diffence_type

任何改变容器长度的操作都会使已存在的迭代器失效

35标准库bitset类型

1)头文件

#include<bitset>

using std::bitset;

 

2)初始化

bitset<32> bitvec;//长度32

bitset<32> b(u);//存放的是u长整形

bitset<32> b(s);//存放s string

bitset<32> b(s,pos,n);// pos开始的sn个副本

 

举例子:

bitset<16> bitvec1(0xffff);//正好

bitset<32> bitvec3(0xffff);//正好后16位都是0

string a(“1100”);

bitset<32> bitvec2(a);//2,3位是0

 

3)函数:

any();//是否有1

none();//时候都是0

count();//有几个1,返回类型是size_t 头文件是cstddef

test()测试某一位是不是1

to_ulong();//返回整形

直接<<输出的是2进制数

第三章 标准库类型

知识点: 1、string类 几种初始化string类的方法: string s1;//默认构造函数,s1为空串 string s2(s1);//将s2初始化为s1的一个副本 s...

(笔记)C++ Primer/第三章 标准库类型

单个字符的处理函数   vector对象的定义和初始化 vector对象的操作 迭代器简介 每个容器都有自己的迭代器类型(iterator),如vector: vector::iterator ...

C++ Primer学习笔记- 第三章:标准库类型之一

一、  标准库string类型

《C++ Primer》读书笔记-第三章 03 标准库类型vector

作者:马志峰 链接:https://zhuanlan.zhihu.com/p/23498837 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 声明: ...

C++primer第4版第三章标准库类型

Talk is cheap, show me the code.包含文件加不加.h后缀的区别:C语言中的头文件都是包含.h的,比如stdio.h,iostream.h等,C++为了兼容C语言,采用去掉...

C++ Primer 第三章 标准库string类型

标准库string类型: string类型支持长度可变的字符串. #include using std::string; 1.string对象的定义和初始化 string s1;   //默...

《c++ primer》学习笔记 第三章 标准库类型(string, vector,bitset)

《c++ primer》学习笔记 第三章 标准库类型(string, vector,bitset) 1 String类 (1)关于getline()函数 Getline()有两个原型: (1)...

《C++ Primer》读书笔记-第三章 02 标准库类型string

作者:马志峰 链接:https://zhuanlan.zhihu.com/p/23471766 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 声明: ...

C++ Primer 【第四版】第三章 标准库类型

习题3.1 用适当的using 声明,而不用std::前缀,访问标准库中的名字,重新编写2.3节的程序,计算一给定数的给定次幂的结果。 【解答】 #include using...

c++ primer读书笔记-第三章 标准库类型

c++ primer读书笔记-第三章 标准库类型命名空间的 using 声明使用 using 声明可以在不需要加前缀 namespace_name:: 的情况下访问命名空间中的名字。using声明的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第三章 标准库类型
举报原因:
原因补充:

(最多只允许输入30个字)