学习《ACM 程序设计》笔记--STL

PS:
里面参数为迭代器的为:erase(),reverse();
里面参数为size_t 的为:find(),replace();
 
Find find_first_of的区别:
1.       前者是完全匹配,后者是只要一个包含匹配就可以了。
最大的区别。
2.       find ()是要完全匹配的,也就是说,查找字符串全匹配  
find_first_of ()只要有一个匹配就可以了  
如:  
Let me make this perfectly clear 。中用 find that 是返回是没有,因为没有一个串是 that 
而用 find_first_of ()是可以查到的,返回 2 ,丫找到了 t 字符
 
内容:
关于string:
1.赋值两种方法:直接负责 string("hello");
  间接: string s;
                char ss[50]="4dg6a5745ga";
                s = ss;即可以直接把整个字符数组赋值给string对象
2.string对象可以进行+操作。效果等同于 append();
3.删除string对象的元素方法
  清空一个字符串,可以直接给他赋值为空字符串即可。如 s="";
  者用erase();
3.可以用reverse()将制定区域的字符反向输出
3. vector<string>v;
   v.push_back("hello");
    v.push_back("world");
    则:v[0]="hello";v[0][0]='1';v[0][1]='e'(注意是字符用' ' 而不是字符串,不能用“”).
6. char ss[10];
    scanf("%s",ss)等价于scanf("%s",&ss);效果是一样的,但具体有什么区别,不清楚。
7.  int x,y,z; char s[10]  fscanf("1 2 3 abc","%d %d %d %s",&x,&y,&z,s);即将前面的字符串1 2 3 abc,分离出来存储在x y z 及 字符串s里面
8.利用<sstream>字符串流的方法来实现string对象与数值的相互转换
string doubleConvertToString(double x)//将double转换成string
{
 ostringstream o;
 if (o<<x)
 {
  return o.str();
 }
 else
  return "error";
}
double doubleConvertFromString(string s)//将string转换成double
{
 istringstream i(s);
 double x;
 if (i>>x)
 {
  return x;
 }
 return 0.0;
}

你可能感兴趣的:(职场,STL,休闲)