C++

cin >> 读取字符串时遇到空格符结束

while(cin >> string)

关于getline

while(getline(cin , string)

遇到换行符'\n'结束,并且不读入'\n'

原型

istream& getline ( istream &is , string &str , char delim );

istream& getline ( istream& , string& );

参数

is 进行读入操作的输入流

str 存储读入的内容

delim 终结符

返回值

与参数is是一样的

功能

将输入流is中读到的字符存入str中,直到遇到终结符delim才结束。对于第一个函数delim是可以由用户自己定义的终结符;对于第二个函数delim默认为 '\n'(换行符)。

函数在输入流is中遇到文件结束符(EOF)或者在读入字符的过程中遇到错误都会结束。

在遇到终结符delim后,delim会被丢弃,不存入str中。在下次读入操作时,将在delim的下个字符开始读入。



关于C++的队列问题

队列属于FIFO,先进先出原则;

队列的定义quene<int> q;

方法:

q.push(i);   初始化

q.empty();   判断队列是否为空;

q.front();  队首元素;

q.pop(); 抛弃队首元素;



关于C++的栈:

属于LIFO,后进先出原则;

栈只有一端生长,实现栈时只需要一个数组stack和一个栈顶指针top;



string对象的操作

s.empty();

s.size();

s[n]

s1+s2;

s1=s2;

s1== s2;


对于vector;

vector<int> ivec;声明一个空的vector;

vector<int> ivec(10);声明一个10个大小的vector;

for(vector<int>::size_type ix = 0;ix!=10;++ix)

ivec[ix] = ix;

这样初始化是不对的,因为只有ivec[ix]存在时才可以用下标获取对应元素,正确的写法是

vector<int> ivec;

for(vector<int>::size_type ix = 0;ix!=10;++ix)

ivec.push_back(ix);

对于迭代器

vector<int>::iterator iter = ivec.begin();

表示第一个元素

vector<int>::iterator iter = ivec.end();

表示最后一个元素的后一个,也就是不存在的,只表示已经处理完所有的元素


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值