-
2018-03-16 20:13:36
内置函数(inline function):
1,在函数调用的之前,流程的控制要记下当时执行的指令的位置,还要保护现场(记下当时有关的信息),以便在函数调用之后继续执行。在函数调用后,流程返回到先前记下的位置处,并根据记下的信息“恢复现场”,然后继续执行。这些过程都需要时间。如果有的函数需要频繁使用,则所使用的时间会更多,从而降低执行效率。
C++提供一种提高效率的方法,即在编译时将所调用函数的代码直接嵌入到主调函数中,而不是将流程转出去,这种嵌入到主调函数中的函数成为内置函数。
2, 内置函数:只需在函数首行的左端加一个关键字inline即可。
更多相关内容 -
c++内置函数
2019-04-03 16:52:09谭浩强老师c++课本第一章内置函数例题,c++内置函数使用用例。 -
C++ 内置函数
2017-02-08 23:26:04调用函数时需要一定的时间和空间的消耗,一般的程序调用函数时的过程: 1.执行函数中调用前的语句; 2.转移到被调用函数的入口处,同时进行参数传递; 3.执行被调用的函数; 4.带回被调用函数的返回值; 5.接着...调用函数时需要一定的时间和空间的消耗,一般的程序调用函数时的过程:
1.执行函数中调用前的语句;
2.转移到被调用函数的入口处,同时进行参数传递;
3.执行被调用的函数;
4.带回被调用函数的返回值;
5.接着执行主调函数中未执行的语句。这样就要求在转去被调用函数之前,要记下当时执行的指令的地址和其他相关信息,一遍在函数调用之后继续执行。在函数调用之后,流程返回到先前记下的地址处,并且根据之前记录的信息恢复现场,才能继续执行。这些都要花费一定的时间。如果有的函数需要频繁使用,则所需要的时间就会很长,从而降低程序的执行效率。
为此,C++提供了一种提高效率的方法,即在编译时将所调用函数的代码直接嵌入到主调函数中,而不是将流程转出去。这种嵌入到主调函数中的函数称为内置函数。
指定一个函数为内置函数,只需在函数首行的左端加一个关键词inline即可。
#include <iostream> using namespace std; inline int max(int,int,int); int main() { int i = 10,j = 20,k = 30,m; m =max(i,j,k); cout<<"max ="<<m<<endl; getchar(); return 0; } inline int max(int a,int b,int c) { if(b>a) a=b; if(c>a) a=c; return a; }
在上述程序中,在声明和定义函数max时,都在左端加了关键词inline,因此编译系统遇到函数调用时,就会用max函数体的代码替换函数调用处的语句,在上述程序中就是16-18行代替了第8行进行编译,同时将实参代替形参。
需要注意的是:可以在声明和定义函数时同时写inline,也可以只在函数声明时加inline,这样编译系统也会把函数作为内置函数处理。
使用内置函数可以节约运行时间,但是会增加目标程序的长度,所以作为内置函数的函数规模都很小(一般都在5句以下)。同时内置函数中不能包括复杂的控制语句,如循环语句和switch语句。总的来说,哪些规模比较小而又被频繁调用的简单函数,比较适合声明为内置函数。
-
【小白学习C++ 教程】六、C++内置函数和函数传参
2021-06-03 15:09:18文章目录内置函数函数传递参数形式参数(指针传递) 函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。 内置函数 在我们学习如何创建...@Author:Runsen
文章目录
函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。
内置函数
在我们学习如何创建函数之前,让我们先了解一些内置函数…
在C ++是一些常见的库函数sqrt(),abs(),isdigit()等。
为了使用库函数,我们通常需要包含定义这些库函数的头文件。
例如,为了使用
sqrt()
和等数学函数abs()
,我们需要包含头文件cmath
。#include <cmath>
现在我们获得了调用
sqrt()
任何数字的平方根的能力。要调用基本函数,我们只需要函数名后跟一对括号,如
sqrt(9)
. 例如:#include <iostream> #include <cmath> int main(){ std::cout << sqrt(9) << "\n"; }
使用
rand()
加上模运算符调用,生成随机数。例如,rand() % 29
将输出0
到28
之间的随机数函数
C++ 函数由两个不同的部分组成:
- 声明:这包括函数的名称、返回类型是什么以及任何参数(如果函数将接受输入值,称为参数)。
- 定义:也称为函数体,它包含函数应该做什么的指令。
C++ 中的函数定义的一般形式如下:
return_type function_name( any, parameters, you, have ) { // Code block here return output_if_there_is_any; }
C++ 中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:
-
返回类型: 函数可以返回一个值。该return_type是值的函数返回的数据类型。某些函数执行所需的操作而不返回值。在这种情况下, return_type 是关键字void。
-
函数名称:这是函数的实际名称。函数名和参数列表共同构成了函数签名。
-
参数:参数就像占位符。当一个函数被调用时,你将一个值传递给参数。该值称为实际参数或实参。参数列表是指函数参数的类型、顺序和数量。参数可选;也就是说,一个函数可能不包含任何参数。
-
函数体:函数体包含一组定义函数功能的语句。
下面是一个函数声明的例子。
void greet() { std::cout << "Hello World"; }
在上面的程序中,我们声明了一个名为
greet()
. 要使用该函数greet()
,我们需要调用它。下面是我们如何调用上述
greet()
函数。int main() { // calling a function greet(); }
传递参数
在C++中,函数声明的代码add应该在函数调用main之前。
C++中函数参数的传递方式有三种:传值、传地址、传引用。
这里先学习最简单的传值。在这种传递参数
中,我们传递存储或复制到函数形式参数中的参数值。因此,原始值不变,只是函数内部的参数发生了变化。void calc(int x); int main() { int x = 10; calc(x); printf("%d", x); } void calc(int x) { x = x + 10 ; }
在这种情况下,实际变量x不会改变,因为我们按值传递参数,因此传递了 x 的副本,该副本已更改,并且该复制的值在函数结束时被销毁(超出范围)。所以main() 中的变量x的值仍然是 10。
但是我们可以改变这个程序来修改原来的X,通过使函数计算时候,返回一个值,并存储X该值。
int calc(int x); int main() { int x = 10; x = calc(x); printf("%d", x); } int calc(int x) { x = x + 10 ; return x; }
20
形式参数(指针传递)
传递,形式参数可以作为引用或指针,在这两种情况下,它们都会改变原始变量的值。
void calc(int *p); int main() { int x = 10; calc(&x); // 传递x的地址作为参数 printf("%d", x); } void calc(int *p) { *p = *p + 10; }
最终结果是
20
. -
C++ 内置函数 判断字母、数字及大小写转换、字符串转换
2021-12-10 14:10:32C++ 内置函数 判断字母、数字及大小写转换 c++的几个内置函数 方法 含义 islower(char c) : 是否为小写字母 isupper(char c): 是否为大写字母 isdigit(char c) : 是否为数字 isalpha(char c) : ... -
C++内置函数——sort 函数:实现数组的排序功能
2018-09-26 22:19:07使用该函数,只需引用头文件: #include<algoritnm> 语法描述为: // 参数begin,end 表示一个范围,分别为待排序数组的首地址和尾地址 // 排列的数组中包括左边的 begin 但不包括右边的 end... -
C++常用内置函数
2019-03-07 19:18:21这些函数写在标准 C 和 C++ 库中,叫做内置函数。您可以在程序中引用这些函数。 数学函数 C++ 内置了丰富的数学函数,可对各种数字进行运算。下表列出了 C++ 中一些有用的内置的数学函数。 为了利用这些函数,您需要... -
C++-内置函数(内联函数)
2019-05-05 16:52:02函数调用在执行时,首先要在栈中为形参和局部变量分配存储空间,然后还要将实参的值复制给形参,接下来还要将函数的返回地址(该地址指明了函数执行结束后,程序应该回到哪里继续执行)放入栈中,最后才跳转到函数... -
c++内置函数实现字符串翻转(reverse,strrev,string 构造函数)
2020-10-22 23:16:59c++内置函数实现字符串翻转(reverse,strrev,string 构造函数) 在写程序的时候,我们经常需要将字符串进行翻转。c++中内置的函数有不少个可以实现该功能。 1.strrev函数。(cstring) #include <iostream> ... -
C++内置函数(内嵌函数,内联函数)
2017-08-02 20:17:51这种嵌入到主调函数中的函数称为内置函数(inline function),又称内嵌函数。在有些书中把它译成内联函数。 指定内置函数的方法很简单,只需在函数首行的左端加一个关键字inline即可。 【例4.4】函数指定为内置函数... -
详述C++内置函数
2017-02-09 00:06:14调用函数时需要一定的时间和空间的开销。函数调用过程如下: 1.程序先执行函数调用之前的语句; 2.调用函数,流程控制转移到被调用函数的入口处,同时进行参数传递; 3.执行被调用函数中函数体的语句; 4.流程... -
C++实现伽马函数.zip
2020-08-15 14:23:28C++实现伽马函数代码,是根据伽马函数的原始定义公式实现,并不是依据递推公式实现。结果的精度有限,欢迎有需要的网友下载学习。 -
C/C++开发语言系列之8---C++内置函数详解
2012-11-11 23:25:47C++提供一种提高效率的方法,即在编译时将所调用函数的代码直接嵌入到主调函数中,而不是将流程转出去。这种嵌入到主调函数中的函数称为内置函数(inline function),又称内嵌函数。在有些书中把它译成内联函数。 ... -
C++中内置函数
2014-09-18 12:40:45内置函数 调用函数时需要一定的时间和空间的开销。一般,函数 -
c++:内置函数(inline function)
2018-03-18 09:55:56#include <iostream>...//内置函数声明 int main(int argc, const char * argv[]) { int i=10,j=20,k=30,m; m=max(i,j,k); cout<<"max="<&... -
c、c++ 内置函数简介
2007-08-17 03:12:12按功能分类——char类,适合初学者。 -
C、C++基本内置函数
2010-04-27 15:01:42比较详细的包含C、C++一些常用的函数,及其用法。 -
c++函数库中一些实用的函数
2021-01-14 07:36:49有一些程序,虽然写起来不难,但是可能比较麻烦或容易出错,这时就可以用c++函数库里自带的一些实用的函数。这里只记录一些不太常见的函数。-------------------------------------!持续更新!--------------------... -
详解C++中的内联函数和函数重载
2021-01-01 13:27:10内联函数(内嵌函数,内置函数) 调用函数时需要一定的时间和空间的开销。C++提供一种提高效率的方法,即在编译时将函数调用处用函数体替换,类似于C语言中的宏展开。这种在函数调用处直接嵌入函数体的函数称为内联... -
C++中的函数修饰符深入讲解
2021-01-01 07:39:34返回值类型是C++中定义函数的必备部分,这些修饰符包括void,(unsigned) int,bool等内置基本数据类型和自定义类型,也包括修饰返回值const关键字(如const int*),还包括C++11中新增的类型自动推导auto关键字。... -
C++函数调用过程和内置函数详解
2018-03-12 10:15:01上图表示函数调用过程:①程序先执行函数调用之前的语句;②流程的控制转移到被调用函数入口处,同时进行参数传递;③执行被调用函数中函数体的语句;④流程返回调用函数的下一条指令处,将函数返回值带回;⑤接着... -
C/C++自带的排序函数
2020-08-21 23:13:181.C标准库函数qsort() qsort函数包含在C标准库<stdlib.h>中 函数声明: void qsort( void*base, size_t nitems, size_t size, int(*compar)...compar——用来比较两个元素的函数,即函数指针(回调函数) int -
C++ fill()函数解析
2020-06-30 19:45:19C++ fill()函数解析 函数原型 void fill (ForwardIterator first, ForwardIterator last, const T& val); Fill range with value; Assigns val to all the elements in the range [first,last). 即:按照单元... -
C++内置函数(inline function)概念
2015-09-19 14:36:29c++内置函数笔记