C++常用用法总结

来源:互联网 发布:模拟退火粒子群算法 编辑:程序博客网 时间:2024/06/04 01:08

华电北风吹
2016-04-04

好久不刷题了,基础都忘了还是总结一下常用的STL函数用法吧。。。无创新,纯粹为了效率。。。

一、vector用法

vector<vector<int>> map(n, vector<int>(n)); //二维初始化struct  Edge{    int n1, n2, val;};bool Compare(Edge e1, Edge e2){    return e1.val < e2.val;}vector<Edge> v;sort(v.begin(), v.end(), Compare);  //从小到大排序

二、map和set用法

map<int, int> m;m[1] = 2;if (m[2] == NULL)    m[2] = 4;cout << m.size() << endl;set<int> s;s.insert(40);set<int>::iterator iter;iter = s.find(20);if (iter != s.end()){    cout << (*iter) << endl;}else {    cout << "Cannot fine the Num!" << endl;}

三、int最大值最小值

#define INT_MAX 0x7fffffff#define INT_MIN 0x80000000int INT_MAX = 2147483647int INT_MIN = -2147483648

四、输入输出重定向
不用调试的时候每次输入了。。。

// #include <fstream> 需要包含的头文件ifstream in("in.in");ofstream out("out.out");cin.rdbuf(in.rdbuf());cout.rdbuf(out.rdbuf());

五、读取一行带空格字符串

//cin.ignore(); 跳过回车符string name;getline(cin, name);

六、输出小数位精度控制

// #include <iomanip> 需要包含的头文件cout << fixed << setprecision(12) << doubleval << endl;

七、格式化输入预判断
可以先将ipRule从输入流输入字符数组,对字符数组进行预判断以后在格式化输入到各个变量里。另外还支持固定长度、一部分正则表达式的低级功能等。

char access[10], ipRule[20];scanf("%s %s", access, ipRule);sscanf(ipRule, "%d.%d.%d.%d/%d", &ip1, &ip2, &ip3, &ip4, &maskNum);
1 0