1. string.empty() 不是用来清空字符串,而是判断 string 是否
为空,清空使用 string.clear();
2. string.find 等查找的结果要和 string::npos 比较,而不是
和-1 比较。(各个平台可能不同)
3. 将 string 转为 char * ,用 char * t = (char *)s.c_str() ,
而不是 char *t =s.begin() 或者 char *t = &s[0] 或者 char
*t =s.data();
4. 不要用错 string.find ,string::find_first_of ,find 和
find_first_of 有本质区别
find 是查找子串在 string 出现的位置
find_first_of 是查找第一个匹配目标字符串任何一个
字符出现的位置。
(大多数的时候,需要的是 find)
5. 用 swap 技巧来移去 string(vector)多余的空间
vector<int> v ;
...
vector<int>(v).swap(v);
6. 用 vector<char>来储存二进制流
7. 了解各种储存 bool 的优缺点
vector<bool> 第一,它不是一个真正 STL 容器,第二,它并不
保存 bool 类(Effective STL 18 条)
deque<bool> 不连续