c++中的内联函数inline用法实例

 更新时间:2019年09月12日 16:32:29   作者:小白  
在本篇文章里小编给大家整理的是关于c++中的内联函数inline用法实例以及相关知识点,有需要的朋友们学习下。

问题描述:类中成员函数缺省默认是内联的,如果在类定义时就在类内给出函数定义,那当然最好。如果在类中未给出成员函数定义,而又想内联该函数的话,那在类外要加上 inline,否则就认为不是内联的。内联函数的inline要加在函数前面,不可以加在声明前面。

class A
{
  public:void Foo(int x, int y) { } // 自动地成为内联函数
}
//正确写法:
// 头文件
class A
{
  public:
  void Foo(int x, int y);
}
// 定义文件
inline void A::Foo(int x, int y){} 

//错误写法:
inline void Foo(int x, int y); // inline 仅与函数声明放在一起
void Foo(int x, int y){}

1. 内联函数作用:为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。

例子:

#include <stdio.h>
//函数定义为inline即:内联函数
inline char* dbtest(int a) {
  return (i % 2 > 0) ? "奇" : "偶";
} 
 
int main()
{
  int i = 0;
  for (i=1; i < 100; i++) {
    printf("i:%d  奇偶性:%s /n", i, dbtest(i));  
  }
}

内联函数是在程序编译的时候替换的方式加入程序中的。

2. 内联函数使用的限制:

inline 的使用是有所限制的,inline 只适合涵数体内代码简单的涵数使用,不能包含复杂的结构控制语句例如 while、switch,并且不能内联函数本身不能是直接递归函数(即,自己内部还调用自己的函数)。

代码较长,内部出现循环不适合使用内联函数。

3. 内联函数只是一个对编译器的建议,具体实不实现看编译器认为函数复不复杂。

4.内联函数最好放在头文件中。

以上就是本次介绍的全部知识点内容,感谢大家的学习和对脚本之家的支持。

相关文章

  • C语言单循环链表的表示与实现实例详解

    C语言单循环链表的表示与实现实例详解

    这篇文章主要介绍了C语言单循环链表的表示与实现,对于学习数据结构与算法的朋友来说很有参考借鉴价值,需要的朋友可以参考下
    2014-07-07
  • C++ socket通信遇到的问题及解决方法

    C++ socket通信遇到的问题及解决方法

    这篇文章主要介绍了C++ socket通信遇到的问题,通过代码修改来解决这个问题,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • Opencv实现边缘检测与轮廓发现及绘制轮廓方法详解

    Opencv实现边缘检测与轮廓发现及绘制轮廓方法详解

    这篇文章主要介绍了Opencv实现边缘检测与轮廓发现及绘制轮廓方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-12-12
  • 详解C++ 转换的非正式分类

    详解C++ 转换的非正式分类

    C++ 正式分类方法是直接按语法分类,分为:隐式转换和显示转换。这篇文章主要介绍了C++ 转换的非正式分类,需要的朋友可以参考下
    2022-01-01
  • C语言判断字符串是否回文三种方法实例

    C语言判断字符串是否回文三种方法实例

    回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的,下面这篇文章主要给大家介绍了关于C语言判断字符串是否回文的三种方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • VC编程控件类HTControl之CHTGDIManager GDI资源管理类用法解析

    VC编程控件类HTControl之CHTGDIManager GDI资源管理类用法解析

    这篇文章主要介绍了VC编程控件类HTControl之CHTGDIManager GDI资源管理类用法解析,需要的朋友可以参考下
    2014-08-08
  • C语言实现歌手比赛系统

    C语言实现歌手比赛系统

    这篇文章主要为大家详细介绍了C语言实现歌手比赛系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • C++中的友元函数与友元类详情

    C++中的友元函数与友元类详情

    这篇文章主要介绍了C++中的友元函数与友元类详情,对类的封装是C++三大特性中的一个重要特性,封装好的数据在类的外部是访问不到的但是一旦出了问题,想要操作被封装的数据怎么办呢?由此友元函数友元类诞生了,下文我们来详细来接一下具体的有缘类吧
    2022-02-02
  • C++数组放在main函数内外的区别

    C++数组放在main函数内外的区别

    大家好,本篇文章主要讲的是C++数组放在main函数内外的区别,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • C/C++使用API实现数据的压缩与解压缩

    C/C++使用API实现数据的压缩与解压缩

    在Windows编程中,经常会遇到需要对数据进行压缩和解压缩的情况,本文将深入探讨使用Windows API进行数据压缩与解压缩的过程,感兴趣的小伙伴可以了解下
    2023-11-11

最新评论