宏函数,内联函数和static函数的区别以及应用场景 | 您所在的位置:网站首页 › And函数的应用场景 › 宏函数,内联函数和static函数的区别以及应用场景 |
概述
宏函数,内联函数和static函数是c++中不同于普通函数定义的使用其他方式定义的函数,这三种函数有各自的特点和不同的适用场景,我们将在这篇文章中一一说明。先来看三者的定义。 定义宏函数:一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串)。这种替换在预编译时进行,称作宏展开。宏函数归根结底还是一种宏定义,比普通的宏定义要复杂一些,通常是一组实现特定功能的语句的组合。 内联函数:内联函数(有时称作在线函数或编译时期展开函数)是一种编程语言结构,用来建议编译器对一些特殊函数进行内联扩展(有时称作在线扩展);也就是说建议编译器将指定的函数体插入并取代每一处调用该函数的地方(上下文),从而节省了每次调用函数带来的额外时间开支。但注意这里是建议,并非确定。 static函数:声明了static关键字的函数被称为静态函数,它的作用域为本文件可见,不参与链接的过程,产生一个local的符号,调用static函数不依赖于对象,static函数中不能访问非static的成员变量。 来看一下三者在代码中不同的写法: #include using namespace std; //宏函数 #define MAX(a,b){cout |
CopyRight 2018-2019 实验室设备网 版权所有 |