内联函数

来源:互联网 发布:吉他歌曲教学软件 编辑:程序博客网 时间:2024/06/08 17:11
内联函数具有一般函数的特性,他与一般函数不同之处只在于函数调用的处理。一般函数进行调用时要将程序执行权转到被调用函数中,然后在返回调用他的函数中;而内敛函数在调用时,是将调用表达式用内联函数体来替换。
内联函数使用注意要点


1.在内敛函数内不允许用循环语句和开关语句。若有则编译器将该函数视为普通函数那样昌盛函数调用代码,递归函数(自己调用自己)是不能作为内敛函数的。内联函数只适用于1——5行的小函数。对于宇哥含有很多语句的大函数,函数调用和返回的开销相对于来说微不足道,所以没不要用内联函数。


2.内联函数的定义必须出现在内联函数第一次被调用之前。


3.内联函数例子:
内联函数  在类声明的内部声明或定义的成员函数叫做内联(INLINE)函数.
  有两种实现方式:
  1.在类声明的内部声明,而在类声明外部定义叫做显式内联函数,如:
  class display
  { 
  int t;
  public:
  void output(void)
  }
  display object;
  inline void display::output(void)
  {
  cout << "i is " << i <<"\n";
  }






  2.在类声明的内部定义,叫做隐式内联函数,如:
  class display
  { 
  int t;
  public:
  inline void 




内联函数和define差不多
4.内联函数于define的区别:
(1)内联函数在运行时可调试,而宏定义不可以;  (2)编译器会对内联函数的参数类型做安全检查或自动类型转换(同普通函数),而宏定义则不会;   
(3)内联函数可以访问类的成员变量,宏定义则不能;  (4)在类中声明同时定义的成员函数,自动转化为内联函数。







































原创粉丝点击