C++ PRIMER 学习笔记(二)
来源:互联网 发布:下载excel办公软件 编辑:程序博客网 时间:2024/06/10 13:48
第三章标准库
Using的声明
这一章之简单的介绍了string,vector, bitset;
那先熟练一下:
1.Using
Using namespace_name::function
例子, using std::cin;
使用某个空间,using namespace namespace_name
2.String
初始化,string a;
String a(“shalk”);
String a = “shalk”;
String a(10,’a’); 连续10个a;
读写, cin 和cout 就行
Getline(cin,a)
对象操作, empty() size()
允许拼接S3=s1+s2 允许直接串比较用 > < == !=
支持下标操作, string a=“shalk” a[0] 即为s
Size() 返回类型 string::size_type
书中建议用这个类型,对每一项操作,避免溢出。
以下是自己查的:
赋值 const string& assign(const char* s, int n)
多个重载
或者 const string& assign(const string& s, int start,int n)
一般都为 char*s
Char*s int n
String & s
String &s,int start int n
int n,Char a
有多个重载形式。
连接 append
比较 compare 函数
int compare(const string &s) const; //比较当前字符串和s的大小 //比较当前字符串从pos开始的n个字符组成的字符串与s的大小 iint compare(int pos, int n,const string &s)const; //比较当前串从pos开始的n个字符组成的字符串与s中pos2开始的n2个字符组成的字符串的大小 int compare(int pos, int n,const string &s,int pos2,int n2)const; int compare(const char *s) const; int compare(int pos, int n,const char *s) const; int compare(int pos, int n,const char *s, int pos2) const;
compare函数在>时返回1,<时返回-1,==时返回0
有点多,大概记住一两个就行。
子串:
string substr(int pos ,int n)
交换:
void swap(string &s)
查找 find
从pos开始查找s在当前串中的位置,成功时返回所在位置,失败返回string::npos的值
iterator& find(char s, int pos=0) const;
iterator& find(char *s, int pos=0) const;
iterator& find(char *s, int pos,int n) const;
iterator& find(string &s,int pos=0) const;
其他类似rfindfind_first_of(char *s,int pos )//从pos开始查找第一个s字符集的某字符出现在串中的位置,成功时返回所在位置find_last_offind_first_not_offind_last_not_of
替换
string &replace(int p0, int n0,const char *s);//删除从p0开始的n0个字符,然后在p0处插入s string &replace(iterator first0, iterator last0,int n, char c)
(略)
插入
//插入在pos 位置之前,即占据原本的pos位置
在p0位置插入字符串s中pos开始的前n个字符
string &insert(int p0, const char *s);
string &insert(int p0, const char *s, int n);
string &insert(int p0,const string &s);
string &insert(int p0,const string &s, int pos, int n);
string &insert(int p0, int n, char c); //此函数在p0处插入n个字符c
iterator insert(iterator it, char c); //在it处插入字符c,返回插入后迭代器的位置
删除
iterator erase(iterator first, iterator last);
iterator erase(iterator it); //删除it指向的字符,返回删除后迭代器的位置
string &erase(int pos = 0, int n = npos); //删除pos开始的n个字符,返回修改后的字符串
其他
C++提供的由C++字符串得到对应的C_string的方法是使用data()、c_str()和copy(),其中,data()以字符数组的形式返回字符串内容,但并不添加’\0’。c_str()返回一个以‘\0’结尾的字符数组,而copy()则把字符串的内容复制或写入既有的 c_string或字符数组内。
原型如下:
const char *data()const; //返回一个非null终止的c字符数组 const char *c_str()const; //返回一个以null终止的c字符串 int copy(char *s, int n, int pos = 0) const; //把当前串中以pos开头 n个字符copy到s中
一般string中重载形式多种多样,replace的就有8中以上,记得个大概就行吧,常用的几个其他的查书。
最后多做几个串操作的练习,复习一下。
- c++primer学习笔记(二)
- C++Primer学习笔记(二)
- 学习《c++primer》笔记二
- C Primer Plus 学习笔记系列之(二)
- 《C++.Primer.Plus》学习笔记(二)
- C++Primer学习笔记之二
- 《C++Primer Plus》学习笔记(二)
- 学习笔记(C++primer)
- c++Primer笔记(一,二)
- c++primer plus阅读笔记(二)
- C++PRIMER学习笔记
- c++primer学习笔记
- c++primer学习笔记
- C++primer学习笔记
- c++primer 学习笔记
- C++Primer 学习笔记
- c++primer学习笔记
- C++Primer学习笔记
- PayPal集成介绍
- Oracle SQL Developer Unable To Find Java Virtual Machine
- 泛型编程高级
- 九九
- MAC下Android的Eclipse开发环境的搭建
- C++ PRIMER 学习笔记(二)
- Intel Compiler + yasm + vs单步x264代码
- 关于PayPal
- hdu 3415 Max Sum of Max-K-sub-sequence
- ubuntu 装 phonon
- android java.lang.NoClassDefFoundError: org.androidpn.client.ServiceManager
- 我放弃你!因为你的不珍惜:伤感日志
- 圆的计算
- 给界面上任何控件截图并保存为PNG的方法