C++ 笔记

动态数组,C++中的vector支持动态数组特性:

int N=10;
vector<int> a(N) //初始化值为0的list
vector<string> b(N) 

vector<vector<int>> a(N,vector<int>(M,0))
//初始化一个二维数组
int N=10;
int *p=new int[N];
delete [] p;

初始化string,多个重复的字符:

string temp(int n, char c);

求vector中的最大值:

vector<int> a={1,2,3,4,5};
vector<int>::iterator max_it=max_element(a.begin(),a.end());
int max_val=*max_it;

队列:C++STL中提供了队列,支持:

#include<queue>
using namespace std;
queue<int> q;
q.push(1);  //在队尾插入
q.pop();    //将队头出队,无返回值
q.size();   //返回队列的大小

q.front();  //队头
q.back();   //队尾
q.empty();
队列不支持遍历操作

字符串截取:

#include<string>
using namespace std;

#截取子串
s.substr(pos,n) #截取从pos开始的n个字符,返回
s.substr(pos)   #截取从pos开始到末尾的子串,返回

#替换子串
s.replace(pos,n,s1)  #利用s1替换从pos开始的n个字符

#查找子串
s.find(s1)   #查找s中第一次出现s1的位置,并返回,找不到时返回-1
s.rfind(s1)  #查找s中最后一次出现s1的位置,并返回,找不到时返回-1
s.find_first_of(s1)
s.find_last_of(s1)
s.fin_first_not_of(s1)
s.fin_last_not_of(s1)

char*与string:

#include<string>
using namespace std;

string:C++封装的容器
char* char[] C\C++的固有类型

char* p="xczx";  //默认末尾存着'\0'

(1)string转char*

string s="xcz";
const char *p=s.c_str();
const char *P=s.data();   #此处为const类型,否则会报错

//转化为非const类型
string s="xcz";
char *p;
int len=s.length();
p=(char*)malloc((len+1)*sizeof(char));
s.cpoy(data,len,0);

(2) char*转化为string:
char *p="xcz";
string s=p;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值