首页 > 其他分享 >03.内联函数(了解)

03.内联函数(了解)

时间:2022-08-20 08:55:30浏览次数:50  
标签:03 20 函数 int 内联 inline

1.宏函数的缺陷

#define ADD(x,y) x+y
//在普通函数前面加上inline是向编译器申请成为内联函数
//注意:加inline可能成为内联函数,可能不成为内联函数
inline int Add(int x, int y)
{
	return x + y;
}

void test()
{
	//10+20*2
	int ref = ADD(10, 20) * 2;
	cout << "ref=" << ref << endl;

	int ref2 = Add(10, 20) * 2;
	cout << "ref2=" << ref2 << endl;
}

#define COMAPD(x,y) ((x)<(y)?(x):(y))
inline int func(int x, int y)
{
	return x < y ? x : y;
}
void test02()
{
	int a = 1;
	int b = 3;
	//                        ((++a)<(b)?(++a):(b))      
	//cout << "COMAPD(x,y)=" << COMAPD(++a, b) << endl;//3
	cout << "func=" << func(++a, b) << endl;//2
}

2.什么情况不会成为内联函数

​ 1.存在过多的条件判断语句

​ 2.函数体过大

​ 3.对函数进行取址操作

​ 4.存在任何形式的循环语句

3.内联函数的好处

​ 1.有宏函数的效率,没有宏函数的缺点

​ 2.类的成员函数默认加上inline

4.在普通函数前面加上inline是申请成为内联函数

标签:03,20,函数,int,内联,inline
From: https://www.cnblogs.com/codemagiciant/p/16607129.html

相关文章

  • flink udaf函数
    1.Flink-sql自定义UDAF函数-简书(jianshu.com)2.FlinkSQL自定义UDAF_k_wzzc的博客-CSDN博客_flinkudaf3.Flink实践教程-进阶(10):自定义聚合函数(UDAF)_腾讯云大数据的......
  • python 中(序列)内置函数enumerate
     pyhton中内置函数enumerate用于将序列生成二元组。001、>>>str1="hello!"##测试字符串>>>foriinenumerate(str1):##enumerate用于......
  • python中 pysam包FastxFile函数
     001、读取fasta文件root@PC1:/home/test#lsa.fastaroot@PC1:/home/test#cata.fasta##测试数据>Rosalind_1ATCCAGCT>Rosalind_2GG......
  • 指数分布的分布函数和概率密度函数的推导,牢记指数分布的分布函数为1-e^(-λx)
    指数分布的分布函数和概率密度函数的推导,牢记指数分布的分布函数为1-e^(-λx)前言:重在记录,可能出错。之前推导出了泊松分布的概率公式——泊松分布概率公式的推导,现在推......
  • day03
    今日内容整型python3中只有intpython2中有int和long()长整型字符串索引#索引:(下标)#元素字符中的单个字母#s='meet'#0123#从左向右排序#......
  • pandas 的 apply() 函数
     一、apply()函数 DataFrame.apply(func,axis=0,broadcast=False,raw=False,reduce=None, args=(),**kwds)参数解释:(1)func:就是函数,不管是自定义的函数,还是匿名......
  • 变量的提升 与 函数的预解析问题 (函数声明 的两种方法 声明式 和 表达式式)
    1·变量的提升 console.log(num);varnum=1; 在正常的代码的运行顺序上来说运行结果直接报错 ......
  • C++模板(函数模板 & 类模板)
    模板编程可称范型编程,是一种忽视数据类型的编程方式,这样的好处是什么?且看下面一个例子:简单使用求解最值问题,返回两个值中的较大值:intMax(inta,intb){ returna>......
  • 执行shell脚本报错syntax error near unexpected token `$'\r''解决方法
     今天在进行性能测试时,正好需要一个老脚本,直接拿过来修改一下就可以使用,但是运行时直接报错了syntaxerrornearunexpectedtoken`$'\r'内心一万个WTF,为啥不行呢第......
  • Python基础之reduce函数
    哈喽大家好,今天说一下reduce函数的使用方法,以及与for循环的对比。reduce函数原本在python2中也是个内置函数,不过在python3中被移到functools模块中。reduce函数先从......