5.C++类inline函数

来源:互联网 发布:淘宝卖家如何投诉买家 编辑:程序博客网 时间:2024/05/20 00:11
 .类inline函数   
(前言,定义,基类与派生类,设计指导)
 
1.前言
类的inline成员函数和宏的工作原理差不多,函数调用是很花时间的
是为了提高程序的运行效率而引入的一个机制,它是编译器的一种优化代码的行为
当我们把一个函数定义为inline类型时,编译器在其它代码行中碰到引用这个函数时
直接把函数名字转换成函数体的代码,从而避免函数调用引起的时间花费,程序体会变长
如base类的成员函数get_amt代码体
inline double base::get_amt{return qty * price;}
base bb;
cout<<bb.get_amt();//调用inline函数
编译器会把cout<<bb.get_amt()直接翻译成cout<<qty * price;,从而避免函数调用
 
2.定义
定义有种方法
2.1 在类中直接实现的函数,默认为inline成员函数
class demo{
...
   double get_amt{return qty * price;//编译器自动加上inline
};
2.2 在类外显示加上inline指定此函数为inline
inline double base::get_amt{return qty * price;}
 
3.基类与派生类
在基类和派生类定义inline成员函数原理一样
 
4.设计指导
.对成员函数的代码体行数较少的建议使用inline,以提高程序性能
.对成员函数的代码体行数较多的建议不使用inline,会影响程序性能和增加程序的长度
.对成员函数的调用次数非常多的时候,建议用inline,以提高程序性能
 
原创粉丝点击