我的编程空间,编程开发者的网络收藏夹
学习永远不晚

内联函数inline与宏定义深入解析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

内联函数inline与宏定义深入解析

内联函数的优越性:
一:inline定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换(像宏定义一样展开),没有了调用的开销,效率很高。
二:类的内敛函数是一个真正的函数。
三:使用内联函数inline可以完全取代表达式形式的宏定义。

例子:

复制代码 代码如下:

Class A
{
public:
int readTest()
{
return nTest;
}
void setTest(int i);
};
inline void A::setTest(int i)
{
nTest=i;
};

说明:类A的成员函数readTest()和setTest()都是内联函数,readTest()函数的定义体被放在类声明之中,因而readTest()自动转换成inline函数,setTest函数的定义体在类声明之外,因此要加上inline关键字。

总结inline函数与宏定义的区别:
1、内敛函数在编译时展开,而宏是在预编译时就展开了
2、在编译时内敛函数可以直接被嵌入到目标函数代码中,而宏只是一个简单的文本替换
3、内敛函数可以完成诸如类型的检测、语句是否正确等编译功能,宏就不具备这种功能
4、宏不是函数,而inline函数是函数
5、宏在定义时要小心处理宏参数,(一般情况是把参数用括弧括起来)。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

内联函数inline与宏定义深入解析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

内联函数inline与宏定义深入解析

类的内敛函数是一个真正的函数。使用内联函数inline可以完全取代表达式形式的宏定义
2022-11-15

C语言中的内联函数(inline)与宏定义(#define)详细解析

内联函数与宏本质上是两个不同的概念如果程序编写者对于既要求快速,又要求可读的情况下,则应该将函数冠以inline
2022-11-15

C++ 内联函数与宏定义的区别对比

内联函数在编译时展开,宏定义在预处理时替换。内联函数:接受参数并具有返回类型可以访问局部变量性能优于宏定义可读性较强宏定义:不接受参数也没有返回类型无法访问局部变量性能劣于内联函数提供简洁语法并便于自文档化C++ 内联函数与宏定义的区别对比
C++ 内联函数与宏定义的区别对比
2024-04-28

深入解析SQL:洞察其重要性与定义

探索SQL的本质:理解其意义与概念,需要具体代码示例引言:SQL (Structured Query Language) 是一种用于管理和操作关系数据库的标准编程语言。无论是在个人计算机上的简单数据库,还是在大型企业系统中的复杂数据仓库,S
深入解析SQL:洞察其重要性与定义
2023-12-28

深入解析lenb函数与len函数的区别

深入解析lenb函数与len函数的区别,需要具体代码示例在Python编程语言中,字符串是一种常见的数据类型,并且经常需要对字符串进行相关操作和处理。在字符串处理的过程中,我们经常会使用到获取字符串长度的功能。Python提供了两个内置函
深入解析lenb函数与len函数的区别
2024-01-29

C++虚函数表与类的内存分布深入分析理解

对C++了解的人都应该知道虚函数(VirtualFunction)是通过一张虚函数表(VirtualTable)来实现的。简称为V-Table。本文就将详细讲讲虚函数表的原理与使用,需要的可以参考一下
2022-11-13

深入解析C++中的虚函数与多态

对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)和一个指向虚函数表的指针(vptr)来实现的
2022-11-15

深入解析Python中函数的参数与作用域

传递参数 函数传递参数时的一些简要的关键点:参数的传递是通过自动将对象赋值给本地变量名来实现的。所有的参数实际上都是通过指针进行传递的,作为参数被传递的对象从来不自动拷贝。在函数内部的参数名的赋值不会影响调用者。改变函数的可变对象参数的值会
2022-06-04

深入解析NumPy函数:实际应用与示例

NumPy是Python中一个重要的科学计算库,提供了强大的多维数组对象和广播功能,以及许多用于数组的操作和计算的函数。在数据科学和机器学习领域中,NumPy被广泛应用于数组操作和数值计算。本文将全面解析NumPy的常用函数,并给出应用和实
深入解析NumPy函数:实际应用与示例
2024-01-26

C++入门教程之内联函数与extern "C"详解

C++中的内联函数与静态函数静态函数静态函数的定义静态函数又称为内部函数,下面这篇文章主要给大家介绍了关于C++入门教程之内联函数与extern "C"的相关资料,需要的朋友可以参考下
2023-01-10

深入理解Go语言文档中的flag.Usage函数自定义命令行帮助信息

深入理解Go语言文档中的flag.Usage函数自定义命令行帮助信息在Go语言中,我们经常会使用flag包来处理命令行参数。flag包提供了一种方便的方式来解析和处理命令行参数,让我们的程序可以接受用户输入的不同选项和参数。在flag包中,
深入理解Go语言文档中的flag.Usage函数自定义命令行帮助信息
2023-11-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录