C++库函数详解来啦!

大家好,今天我们来了解一下库函数

文章目录

1.何为库函数

2.库函数的作用

3.如何使用库函数

4.常用库函数

4.1(C标准库部分)

4.2(数学库)

4.3(字符串操作)

4.4(输入输出流)

4.5(算法库)

4.6(动态数组)

4.7(关联容器)

4.8(字符串操作)

4.9(文件操作)


1.何为库函数

库函数(library function)是在编程语言中预先编写好的一组功能函数,可以提供方便和高效的操作和处理数据的能力。库函数通常是由编程语言的开发者或第三方开发者编写的,它们可以在程序中被调用和使用。

2.库函数的作用

库函数的作用可以总结为以下几点:

1. 提供常用功能:库函数中包含了许多常用的功能和算法,如数学运算、字符串处理、文件操作等。使用库函数可以避免重新实现这些功能,节省开发时间和减少出错的机会。

2. 提高开发效率:库函数通过提供高级的功能和封装好的代码,可以加速程序的开发过程。开发人员可以直接调用库函数来完成部分或全部的功能需求,而无需从头开始编写代码。

3. 提高代码的可重用性:库函数的设计目标之一是可重用性。通过将常用的功能封装成库函数,可以将这些函数在不同的项目中重复使用,减少代码冗余和维护成本。

4. 提供更高的性能:库函数通常经过优化和测试,能够提供更高效的执行速度和更低的资源消耗。使用库函数可以使程序更高效,提高执行速度和响应能力。

5. 便于团队合作:库函数的使用可以使不同的开发人员在一个项目中协作更加方便。每个人只需要理解和使用所需的库函数接口,而不需要了解底层实现的细节。

总之,库函数的作用在于提供常用的功能,加速开发过程,提高代码的可重用性和可维护性,提供更高的性能,并方便团队合作。通过使用库函数,开发人员可以更专注于解决业务问题,而不必花费过多的时间和精力在底层细节上。

3.如何使用库函数

使用库函数需要加上相关头文件(下面讲了),这里不需要再自定义函数,直接在main()函数里调用即可(具体有哪些库函数、用途是什么放在下面了)。

代码:

#include
//假设要调用
#include
using namespace std;
int main()
{
    double a;
    cin>>a;
    cout<

4.常用库函数

C++ 中有很多常用的库函数,这里仅列出部分核心库中的关键函数,以及它们的主要用途:

4.1(C标准库部分)

- abs(int x):返回整数 x 的绝对值。
- atoi(const char* str):将字符串转换为整数。
- atof(const char* str):将字符串转换为浮点数。
- calloc(size_t num, size_t size):动态分配内存,并初始化为0。
- malloc(size_t size):动态分配内存。
- free(void* ptr):释放之前通过 malloc、calloc 等函数分配的内存。
- exit(int status):终止程序运行并返回指定状态码。

4.2(数学库)

- sqrt(double x):计算平方根。
- pow(double base, double exp):计算基数的指数次幂。
- fabs(double x):返回浮点数 x 的绝对值。
- sin(double x),cos(double x),tan(double x):三角函数。
- acos(double x),asin(double x),atan(double x),atan2(double y, double x):反三角函数。


4.3(字符串操作)

- strlen(const char* s):计算字符串长度。
- strcpy(char* dest, const char* src):复制字符串。
- strcat(char* dest, const char* src):拼接字符串。
- strcmp(const char* s1, const char* s2):比较两个字符串的大小。


4.4(输入输出流)

- std::cin:标准输入流对象。
- std::cout:标准输出流对象。
- std::endl:插入换行符并刷新缓冲区。
- std::cin >> var:从标准输入读取数据到变量。
- std::cout << var:将变量的值输出到标准输出。

4.5(算法库)

- std::sort(first, last):对指定范围内元素进行排序。
- std::find(first, last, value):查找指定范围内第一个匹配给定值的元素。
- std::count(first, last, value):统计指定范围内有多少个元素等于给定值。
- std::copy(src_first, src_last, dest_first):复制源范围内的元素到目标范围。

4.6(动态数组)

- push_back(): 向vector尾部添加一个元素。
- pop_back(): 删除vector尾部的一个元素。
- size(): 返回vector中元素的个数。
- empty(): 判断vector是否为空。
- clear(): 清空vector中的所有元素。
- at(): 获取指定位置的元素。
- insert(): 在指定位置插入一个或多个元素。
- erase(): 删除指定位置的一个或多个元素。
- begin(): 返回指向vector起始位置的迭代器。
- end(): 返回指向vector末尾位置的迭代器。

4.7(关联容器)

- insert(): 在map中插入一个键值对。
- erase(): 删除指定键值对。
- find(): 根据键查找对应的值。
- count(): 返回指定键的个数。
- size(): 返回map中键值对的个数。
- empty(): 判断map是否为空。
- clear(): 清空map中的所有键值对。
- begin(): 返回指向map起始位置的迭代器。
- end(): 返回指向map末尾位置的迭代器。

4.8(字符串操作)

- length() 或 size(): 返回字符串的长度。
- empty(): 判断字符串是否为空。
- clear(): 清空字符串。
- append(): 在字符串末尾添加另一个字符串。
- find(): 查找指定字符串在原字符串中的位置。
- replace(): 用另一个字符串替换指定位置的子串。
- substr(): 提取原字符串的子串。
- compare(): 比较两个字符串是否相等。
- c_str(): 返回字符串的C风格字符数组。

4.9(文件操作)

- open(): 打开文件。
- close(): 关闭文件。
- is_open(): 判断文件是否打开。
- eof(): 判断是否已到达文件末尾。
- good(): 判断文件流的状态是否正常。
- fail(): 判断文件流的状态是否失败。
- seekg() 和 tellg(): 在文件中设置和获取读取位置。
- seekp() 和 tellp(): 在文件中设置和获取写入位置。
- read(): 从文件中读取指定数量的字节。
- write(): 将指定数量的字节写入文件。

注意:以上列举的函数只是主要的函数,每个头文件中还有更多的函数可供使用。

你可能感兴趣的:(C++干货专栏,c++,算法,数据结构)