[C++ primer 学习笔记][03]标准库类型

一、string

1、String:支持长度可变的字符串;vector:可用于保存一组指定类型的对象


2、string初始化

strings1;// 默认值为空串
strings2(s1);// 将s2初始化为s1的一个副本
strings3(“value”);// s3初始化为一个字符串的字面值副本
strings4(n, ‘c’);// 将s4初始化为字符c的n个副本



3、getline读取正行文本

int main()
{
        string line;

        // read line at time until end-of-file
        while (getline(cin, line))
                cout << line << endl;
        return 0;
}

4、string操作

注:string::size_type类型值,是string::size()的返回值类型,该函数的返回值不能用int直接

string对象中字符的处理:

         cctype头文件中定义



二、vector类型

         1、vector是同一类型的对象的集合,每个对象都有一个对应的整数索引值

         使用:

#include <vector>
using std::vector;

vector是一个类模板(class template),使用模板可以编写一个类定义或函数定义,而用于多个不同的数据类型。

        声明从类模板产生的某种类型的对象,需要提供附加信息。在vector中,需要保存对象的类型,通过将类型放在类模板名称后面的尖括号中来制定类型

vector<int> ivec1;			// ivec1 holds objects of type int
vector<int> ivec2(ivec1);		// ok: copy elements of ivec1 into ivec2
vector<string> svec(ivec1); 	// error: svec holds strings, not ints

2、初始化:

vector<int> fvec(10);			// 10 elements,each initialized 0
vector<string> svec(10);		// 10 elements,each an empty string

3、操作


4、迭代器

另一种访问vector元素的方法,迭代器(interactor)

              Vector<int>::interactoriter = ivec.begin();

     begin、end操作:

  解引用运算:

         迭代类型可以使用解引用操作符(*操作符)来访问迭代器所指向的元算

   vector::iteractor可以改变vector中的元素值。如果使用const_iteractor类型,只能用于读取容器内元素


三、标准库bitset类型

 尖括号说明bitset含有多少位


bitset<n> b(s, pos, n),省略第3个参数,默认读到字符串结尾

1、初始化:

用unsigned值初始化bitset对象

bitset<16> bitvec1(0xffff) 
bitset<32> bitvec2(0xffff)
bitset<128> bitvec3(0xffff)

用string对象初始化bitset对象

string strval("1100");
bitset<32> bitvec4(strval);
String对象和bitset对象之间是反向转化的:string对象的最右边字符用来初始化bitset对象的低位(下标为0的位)

2、bitset对象上的操作




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值