C++常用函数简述

序言

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):将字符串转换为 intlong 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_MAXint 最大值(约 2.1e9)。
  • LLONG_MAXlong 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)深入学习更多细节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值