C++常用内置函数
时间: 2025-04-14 18:13:06 浏览: 32
<think>嗯,用户想查找C++中常用的内置函数列表。我需要先理解他们具体需要什么。内置函数在C++里可能有不同的解释,比如标准库函数或者编译器内置的函数。根据提供的引用,用户提到的引用[2]里解释,内置函数广义上包括标准库函数和编译器优化的内联函数。所以应该涵盖标准库中的常用函数。
首先,我需要分类整理。用户可能想要数学函数、字符串处理、字符处理、容器操作、输入输出、内存管理、算法函数等等。根据引用[2]里的数学函数例子,比如sqrt、pow这些,应该包括进来。引用[3]提到了字符处理函数,如isalpha、isdigit等,这些也要列出来。引用[1]提到set容器,所以可能需要提到关联容器的成员函数,但用户主要问的是函数,可能更关注标准库里的函数而不是类的方法。
接下来,要确保涵盖各个常用头文件中的函数。比如<cmath>里的数学函数,<cctype>的字符处理,<string>的字符串操作,<algorithm>里的通用算法如sort、find,还有输入输出的<iomanip>和<iostream>。内存管理相关的如<malloc.h>可能不太常用,但像智能指针可能在<memory>里,不过用户可能更关注传统函数。
需要注意用户可能混淆内置函数和内联函数,但根据引用[2],这里应该指标准库中的常用函数。所以需要分门别类,每个类别下举几个例子,并简要说明用途。例如数学函数里的abs、sqrt,字符串处理的strlen、strcmp,字符处理的isalnum、tolower,算法里的sort、copy,输入输出的cout、cin等。
另外,用户可能希望知道如何查找这些函数的详细信息,比如参考C++文档或权威书籍。需要提醒用户查阅官方资料,比如cppreference网站。同时,生成相关问题的时候,可以围绕不同类别的函数、使用方法、性能优化等方面提问。比如如何转换字符串大小写,或者数学函数的精度问题。
最后,检查是否有遗漏的重要函数,比如容器相关的如vector的push_back,但可能这些属于类的方法而不是独立函数。需要明确区分。确保回答结构清晰,分点列出,每个类别有例子,并附上代码示例,比如使用sort函数排序数组。这样用户能直观看到如何使用这些函数。</think>### C++ 常用标准库内置函数分类说明
C++标准库提供了丰富的内置函数,涵盖数学计算、字符处理、字符串操作、容器管理等功能。以下是常用函数分类及示例:
---
#### 1. 数学函数(需包含头文件 `<cmath>`)
- **绝对值与取整**
$$ \text{int abs(int x);} \quad \text{double fabs(double x);} $$
$$ \text{double floor(double x);} \quad \text{double ceil(double x);} $$
- **指数与对数**
$$ \text{double pow(double base, double exp);} $$
$$ \text{double log(double x);} \quad \text{double log10(double x);} $$
- **三角函数**
$$ \text{double sin(double x);} \quad \text{double cos(double x);} $$
$$ \text{double sqrt(double x);} \quad \text{double hypot(double x, double y);} $$
---
#### 2. 字符处理函数(需包含头文件 `<cctype>`)
```cpp
isalnum(c); // 判断是否为字母/数字[^3]
tolower(c); // 转换为小写
isdigit(c); // 判断是否为数字
isalpha(c); // 判断是否为字母
```
---
#### 3. 字符串操作(需包含头文件 `<string>` 或 `<cstring>`)
- **C风格字符串**
```cpp
strlen(const char* str); // 计算长度
strcmp(const char* s1, const char* s2); // 比较字符串
strcpy(char* dest, const char* src); // 复制字符串
```
- **C++字符串类**
```cpp
std::string::substr(size_t pos, size_t len); // 截取子串
std::stoi(const string& str); // 字符串转整数
```
---
#### 4. 算法与容器操作(需包含头文件 `<algorithm>` 和容器头文件)
- **通用算法**
```cpp
std::sort(begin, end); // 排序
std::find(begin, end, value); // 查找元素
std::reverse(begin, end); // 反转序列
```
- **关联容器(如 `<set>`)**
```cpp
set.insert(value); // 插入元素[^1]
set.find(key); // 查找元素
```
---
#### 5. 输入输出函数(需包含头文件 `<iostream>` 和 `<iomanip>`)
```cpp
std::cout << value; // 输出
std::cin >> variable; // 输入
std::setw(n); // 设置输出宽度
```
---
#### 6. 内存管理(需包含头文件 `<memory>`)
```cpp
std::make_shared<T>(args); // 创建智能指针
std::unique_ptr<T> ptr(new T); // 独占指针
```
---
#### 代码示例:使用 `std::sort`
```cpp
#include <algorithm>
#include <vector>
int main() {
std::vector<int> arr = {5, 2, 8, 1};
std::sort(arr.begin(), arr.end()); // 升序排序
return 0;
}
```
---
阅读全文
相关推荐


















