- vector——向量,也就是动态数组
函数:
vector vec;——创建函数
vec.push_back(i);——末尾加入,加入就只能这个函数
vec.size()——获取长度
vec[i]——像数组一样取元素,只能取不能放
vec.begin()——返回向量头指针,指向第一个元素
vec.end()——返回向量尾指针,指向向量最后一个元素的下一个位置
vector::iterator it = vec.begin()——生成迭代器(感觉像指针)
cout<<*it;——输出迭代器指向的元素 - map——键值对
函数:
std::unordered_map <int,int> map;——定义 - auto——为了简化变量初始化,如果这个变量有一个很长很长的初始化类型,就可以用auto代替。
注意点:
1.用auto声明的变量必须初始化 - sort(地址一,地址二)——只对数组进行排序,对vec也可以
- 输出小数的写法:(要输出几位就在setsetprecision()里填几)
cout<< fixed<< setprecision(2)<< s<< endl;
- 输入有空格的字符串:
string s;
int n;
cin>>n;
cin.ignore();
for(int i=0;i<n;i++)
{
getline(cin,s);
cout<<s<<endl;
}
- stack——栈
函数:
stack st;——创建,不用指定大小
st.push(’}’);——入栈
st.pop();——出栈,但是没有返回值,所以要取栈顶并删除就要pop和top联合着用。
st.empty()——判空
st.top();——取栈顶元素 - vector转string:
string temp(item.begin(), item.end());//item是vector<char>
- char转string:
string p(1,s[i]);//通过string的构造函数
- queue——队列
函数:
q.pop()——出队,但是没有返回值,所以要取栈顶并删除就要pop和front联合着用。
q.push()——入队
q.empty()——判空
q.front()——取队首 - 获取字符数组或字符串的长度:
strlen(char*)—— 计算字符串长度,不包括’\0’在内 - 文件的读写:想到了一个问题,如果open以后不close会怎么样?
os讲到fopen函数会在打开文件表里多一项数据,如果一直不关,系统打开文件表会越来越大,占据内存。
FILE *fp;
fp = fopen("hello.txt","r+");
fscanf(fp, "%c", &str[i]);
fclose(fp);