1. string 常见操作
1  | 
1.1.string创建
1  | string str1 = "123";  | 
1.2. string 与 char* 互转
1  | // string 转 char* c_str();  | 
1.3. 遍历
str.at(i) 和 str[i],区别在于 str.at(i)如果数组越界会报异常,而str[i]不一定
1  | try{  | 
1  | string str("1234567");  | 
1.4. 添加
str1 = str1 + str2;str1 = str1.append(str2);
1  | int main(){  | 
打印结果
1  | 123456  | 
1.5. 删除
str1.erase(it);
1  | string str1 = "123 abc 123 abc 123";  | 
打印结果:
1  | // 删除一个节后都会从头开始计算  | 
1.6. 替换
str1.replace(0,6,"1234");:从0开始,替换6个字符
1  | string str1 = "123 abc 123 abc 123";  | 
打印结果:
1  | 1234c 123 abc 123  | 
1.7. 查找
str1.find("123",0);:// 查找谁,从哪里开始str1.rfind("123");:// 从后面往前找
1  | string str1 = "123 abc 123 abc 123";  | 
打印结果:
1  | 0,16  | 
1.8. 大小写转换
transform(str1.begin(),str1.end(),str1.begin(),::toupper);:转大写transform(str1.begin(),str1.end(),str1.begin(),::tolower);:转小写
1  | int main(){  | 
2. c++ 相对 c 的一些增强
2.1 实用性增强
1  | int a;  | 
2.2 register 增强(c中报错,c++可以通过)
1  | // 寄存器上面的变量不能取地址,register 快速  | 
2.3 参数增强 (以下代码,c中没问题,c++中会检测报错)
1  | // 参数处理增强  | 
2.4 检测增强 (以下代码,c中没问题,c++中会检测报错)
1  | f(){  | 
3. const 关键字
const 使用场景:
1  | // 1. 修饰变量不可改变  | 
区别:
- c 里面 const 是一个伪命题,可以通过指针去操作,编译时期的检测
 - c++ 里面不光在编译时期做处理,还在运行时做了处理
 
4. 引用加强
其实引用的本质就是 指针
1  | class Student {  |