C++ 内置函数

2024 年 8 月 28 日 | 阅读 10 分钟

在本文中,我们将讨论 C++ 中的内置函数,包括它们的不同功能和示例。在讨论内置函数之前,您必须了解 C++ 中的函数。

函数是仅在被调用时执行的代码段。参数是指您提供给函数的数据。

函数用于执行特定任务,对于代码重用至关重要。您可以通过仅定义一次来多次使用代码。

一、C++ 中的字符串函数

C++ 中有几种字符串函数。C++ 中的一些字符串函数如下:

1. strcat()

strcat() 函数用于在程序中包含cstring 头文件。两个字符数组可以输入到strcat() 方法中。第二个数组通过拼接连接到第一个数组的末尾。

语法

它具有以下语法:

strcat() 函数只接受字符数组作为参数,这一点很重要。字符串对象不能在此函数中使用。

示例

输出

Radha Krishna.

说明

在此示例中,首先,代码将两个字符数组 str_1str_2 初始化为数据。然后,使用cstring 头文件中的strcat() 函数str_2 的数据追加到 str_1 的末尾。最后,使用 cout 命令打印组合后的字符串。此程序将生成 “Radha Krishna”

2. length()

顾名思义,length() 函数用于返回字符串的长度。

示例

输出

The length of the string is: 23

说明

在此示例中,代码创建了一个名为 str 的字符串,使用 length() 函数确定其长度,然后打印长度和一条消息。程序运行时将输出以下内容:

“The fruit name is Apple” 是一个长度为23个字符的字符串。

3. capacity()

capacity() 函数返回当前分配给字符串的空间大小。该大小可以等于或大于字符串的大小。您可以分配比字符串的最大长度更大的空间,以有效地处理字符串中的其他字符。

示例

输出

The length of the string is: 10
The capacity of the string is: 15

说明

在此示例中,代码在创建字符串 str_1 时用“Seetha Ram”填充。之后,它使用成员函数 length()capacity() 来打印字符串的长度和容量。

字符串 “Seetha Ram” 的长度为 10 个字符,容量为 11 个字符,允许未来可能的增长。这两个数字代表为字符串分配的内存。

4. resize()

resize() 函数是一个用于更改字符串大小的函数。

示例

输出

The original string is: God is great.
The string after using resize is: God is g

说明

在此示例中,程序员将字符串 “God is great.” 初始化为 str_1。之后,打印原始字符串,然后将字符串缩减为仅包含前八个字符,最后打印缩减后的字符串。

字符串 “God is great.” 在缩放后长度减小,仅保留前八个字母,变为 “God is g”

5. begin()

begin() 函数提供一个指向字符串开始位置的迭代器。

示例

输出

K e

说明

在此示例中,代码在开头用短语“Keep Learning”填充字符串 str_1。之后,声明一个迭代器并将其初始化为指向字符串开头的指针。程序输出迭代器指向的第一个字符,然后是一个移动到下一个字符的空格,然后输出该字符。

这是因为迭代器在文本 “Keep Learning” 中依次指向字母 “K”“e”

6. end()

end() 方法提供一个指向字符串末尾的迭代器。迭代器将始终指向空字符。

示例

输出

ev

说明

初始化代码将字符串 str 初始化为短语“The Taj Mahal is a symbol of love”。之后,初始化并声明迭代器指向字符串的最后一个空字符 (0)。在输出空字符(无内容)后,程序使用迭代器向后移动并输出字符'e''v'

这是因为迭代器反向依次指向字符“e”“v”

7. rbegin()

关键字 rbegin() 表示“反向开始”。它作为字符串最后一个字符的参考。

示例

输出

ran

说明

在此示例中,代码对 str 变量中的字符串“Charminar”进行初始化。之后,声明一个名为 rit 的反向迭代器,并将其初始化为指向字符串的最后一个字符。随着反向迭代器的递增,程序输出字母“r”“a”“n”

这是因为反向迭代器依次指向字母“r”“a”“n”

8. rend()

rend() 函数通常与双向容器(如vector、array等)一起使用,这些容器通过反向迭代器提供反向迭代。但是,std::string 仅允许正向迭代。

示例

输出

gnivil trats

说明

在此示例中,str_1 变量中初始化的文本是字符串“start living”。之后,使用for 循环反向迭代器遍历字符串中的字符,顺序相反。程序以相反的顺序输出每个字符。

此输出是由字符串“start living”中的字母以相反的顺序显示的。

9. copy()

copy() 方法将子字符串从一个字符串(字符数组)复制到函数参数中指定的另一个字符串(字符数组)。它需要三个输入(至少两个),包括目标字符数组复制文本的长度以及字符串内的起始位置

示例

输出

The copied string is:  function

说明

初始化代码将字符串“copy function is used for”设置为变量 str_1 的值。之后,使用 copy() 函数str_1 的一部分(从索引 5 开始,向前复制 9 个字符)复制到名为 str_2 的字符数组中。在程序向 str_2 插入空终止符以使其成为真正的 C 风格字符串后,将输出复制的字符串。

结果与从 str_1 复制的字符“function”相同。

10. swap()

swap() 函数用于交换两个字符串。

示例

输出

Before swapping - fruit 1 is: Banana
Before swapping - fruit 2 is: Sapota
After swapping - fruit 1 is: Sapota
After swapping - fruit 2 is: Banana

说明

在此示例中,代码将两个字符串变量 fruit_1fruit_2 分别初始化为“Banana”“Sapota”。之后,它演示了如何使用 swap() 函数交换这两个字符串中的数据。程序输出字符串的原始内容和交换后的内容。

二、C++ 中的数学函数

C++ 中有几种数学函数。C++ 中的一些数学函数如下:

1. abs()

abs() 函数返回参数的绝对值。

示例

输出

7.8

2. ceil()

ceil() 函数返回大于或等于参数的下一个整数。

示例

输出

The result is 14!

3. floor()

floor() 方法返回小于或等于参数的第一个整数。

示例

输出

The result is 15!

4. max()

fmax() 方法用于查找两个输入中较大的一个。

示例

输出

The larger value between -43.253 and -35.462 is -35.462

5. fmin()

fmin() 函数用于从两个输入中找到较小的参数。

示例

输出

The smaller value between -36.786 and -23.231 is -36.786

6. pow()

pow() 函数返回将底数提升到指数的结果。

示例

输出

5 raised to the power of 3 equals 125.

7. sqrt()

sqrt() 函数返回参数平方根

示例

输出

The square root of 166 is 12.8841

8. round()

round() 函数用于提供参数最接近的整数,其中半数情况向远离零的方向舍入。

示例

输出

The result is 26

三、C++ 中的输入/输出函数

1. cin

Cin() 函数用于从标准输入(通常是键盘)读取输入

2. cout

cout() 函数用于将输出写入标准输出(通常是控制台)。

示例

输出

Enter a number: 5
The entered number is: 5

四、C++ 中的算法函数

1. std::sort()

std::sort() 函数用于对容器的内容进行排序。

2. std::find()

std::find() 用于在容器中查找特定元素。

示例

输出

Sorted numbers: 1 3 4 5 6 8 9 10 
Number 5 is found in the vector.

五、容器函数

1. std::vector

动态数组 std::vector 提供元素操作和动态调整大小的例程。

2. std::map and std::set

std::mapstd::set 分别是保存唯一值和键值对的关联容器

示例

输出

The size of the vector is: 5
Ram's age: 30

下一个主题C++ 中的对象指针