序言
C++作为一门高效的系统级编程语言,提供了丰富的内置函数和标准库工具,涵盖数学运算、字符串处理、容器操作等常见需求。掌握这些函数能显著提升开发效率,避免重复造轮子。本文整理C++中的常用函数,包括基础数学函数、类型转换、容器操作及数据类型限制,帮助开发者快速查阅和应用。最重要的是可以减少复杂度和代码长度!
数学函数
基础运算
abs(x):返回整数或浮点数的绝对值(需包含<cstdlib>或<cmath>)。pow(base, exp):计算 base 的 exp 次幂(<cmath>)。sqrt(x):计算平方根(<cmath>)。__gcd(a, b):计算最大公约数(GCC扩展,需<algorithm>)。
随机数生成
rand():生成伪随机数(需配合srand(time(0))初始化种子)。std::uniform_int_distribution:C++11 更安全的随机数生成方式(需<random>)。
示例代码
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
int main() {
cout << "GCD of 12 and 18: " << __gcd(12, 18) << endl; // 输出 6
cout << "2^10 = " << pow(2, 10) << endl; // 输出 1024
return 0;
}
类型转换
数字与字符串互转
to_string(x):将数字转换为字符串(需<string>)。stoi(s),stoll(s):将字符串转换为int或long long(需<string>)。atoi(s.c_str()):C风格字符串转整数(需<cstdlib>)。
示例代码
#include <string>
using namespace std;
int main() {
string s = "123";
int num = stoi(s); // 字符串转整数
string s2 = to_string(456); // 整数转字符串
return 0;
}
容器函数
常用容器操作
vector:动态数组,支持push_back(),pop_back(),size()。map/unordered_map:键值对,支持insert(),find(),count()。sort(v.begin(), v.end()):排序(需<algorithm>)。
示例代码
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> v = {3, 1, 4};
sort(v.begin(), v.end()); // 排序为 {1, 3, 4}
return 0;
}
数据类型与极值
常用类型
int:通常为 4 字节(-2³¹ 到 2³¹-1)。long long:8 字节(-2⁶³ 到 2⁶³-1),可用1LL表示字面量。
极值常量(需 <climits>)
INT_MAX:int最大值(约 2.1e9)。LLONG_MAX:long long最大值(约 9.2e18)。
示例代码
#include <climits>
#include <iostream>
using namespace std;
int main() {
cout << "INT_MAX: " << INT_MAX << endl;
cout << "LLONG_MAX: " << LLONG_MAX << endl;
return 0;
}
总结
C++的标准库和扩展函数覆盖了从基础数学运算到复杂容器操作的需求。熟练使用这些工具能减少代码量并提高性能,尤其在算法竞赛和系统开发中。建议结合官方文档(如 cppreference)深入学习更多细节。
1182

被折叠的 条评论
为什么被折叠?



