vector<int>a(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
//(n)直接表示有n个元素了,不用push_back了,话说这样会比push_back更快吗
string erase函数的用法
erase函数的原型如下:
1. string& erase ( size_t pos = 0, size_t n = pos );
2. iterator erase ( iterator position);
3. iterator erase ( iterator first, iterator last);
也就是说有3种用法:
1. erase(pos, n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符
2. erase(position); 删除position处的一个字符(position是一个string类型的迭代器)
3. erase(first, last); 删除区间 [first, last) 之间(左闭右开)的字符(first和last都是迭代器)
例:
#include <iostream>
#include <string>
using namespace std;
int main ()
{ //01234567890123456789
string str ("This is an example phrase.");
string::iterator it;
// 第1种用法
str.erase (10,8); // 01234567898
cout << str << endl; // "This is an phrase."
// 第2种用法
it=str.begin()+9;
str.erase (it); // 012345678 76543210
cout << str << endl; // "This is a phrase."
// 第3种用法
str.erase (str.begin()+5, str.end()-7);
cout << str << endl; // "This phrase."
return 0; // 01234
}