【C++ primer 笔记】第三章

来源:互联网 发布:mac没装驱动会怎么样 编辑:程序博客网 时间:2024/05/22 12:22
1. int main()
{
string line;

while(getline(cin, line))
cout << line << endl;
return 0;
}
getline函数读取输入流的一行,并且去除行末的换行符,返回到line(不会忽略空格符,而string类型的的呼入操作会自动忽略空格符)

2. string s;
s.empty()   //空返回true,非空返回false
s.size()    //返回s中的字符个数,返回值为size_type类型,不可以把返回值赋给一个int型变量
我试了试,size较小的情况下暂时没出问题……
s[n]        //返回s中位置为n的字符,从0开始计数

3.while(cin >> word) 要想结束这个东西,就输入ctrl+z;

4.vector
<1>.vector 里的元素可以通过下标访问,但是不可以通过下标增加元素;
<2>.text.push_back(word);会将word的最后一个元素增加至text中

5.迭代器
<1>.vector<int>::iterator iter = ivec.begin();//初始化iter为ivec[0];

<2>.end操作返回容器最后一个元素的下一个,指向一个不存在的元素,仅用来表明所有vector元素都被处理

<3>.使用迭代器可以访问任何一个元素,并且修改其值;
*iter = 0; ++ iter
<4>.用 == 或 != 可以比较两个迭代器,若指向相同元素则相等;

<5>.iter + n //指向当前元素的后面第n个,是different_type或者size_type类型
    iter1 - iter2 //计算两个迭代器的距离,是different_type类型 iter1 、iter2必须指向同一容器 
    若是后来改变了vector的长度,之前所使用的迭代器将不在准确!!!

<6>删除vector元素操作,erase();
务必要   iter2 vec.erase( iter2 );  

6.bitset
#include<bitset>
using std::bitset;
bitset<32> bitvec;//<>中必须规定好bitset对象的长度(不是类型)

bitset<32> bitvec1(0xffff);//0-15 位为1,16-31位为0

bitset<32> bitvec1("1100");//用字符串初始化的时候,读入顺序是从右到左
原创粉丝点击