问题1:
#include "stdafx.h"
#include <iostream>
一旦交换位置就会报错。
问题2:
字符串输入有两种方式
- char 数组
- string类
问题3:代码自动对齐
ctrl+a
ctrl+k
ctrl+f
问题4:assertion fauliure
很奇怪,new之后加delete就会出现上述错误,注释掉就不会。然后我知道原因了,是格式不匹配。
CandyBar *pt_cb = new CandyBar[3];
...
delete pt_cb;
delete表达式改成
delete [] pt_cb;
因为我分配的是一个数组结构,所以delete时相应地需要加方括号。
问题五:
读取带空格的字符串只用cin是不行的,可以用
getline(cin,str)//str 是string类型
因为getline将回车符视为一行的结束,数字和行字符串混合输入带来另一个问题,即cin输入数字以回车符结束,接着输入字符串,getline一开始就读到取回车符,然后直接将空字符赋给str。
解决办法是,在两者之间将回车符读取并丢弃
cin.get();
好了,目前为止前五章结束了,继续啃后面的知识。