zoukankan      html  css  js  c++  java
  • C之#define和inline的区别

    1.define

      1.定义在预编译时处理的宏,只是简单的字符串替换,没有类型检查

    2.inline

      1.用来定义一个内联函数,引用inline的主要原因是用它替换C语言中表示式形式的宏定义;

      2.在编译阶段完成

      3.内联函数会做类型安全检查

      4.内联函数是嵌入式代码,调用内联函数时,不是跳转到内联函数执行,而是把内联函数的代码直接写到调用位置

      5.inline函数仅用于短小的函数(逻辑不复杂,且一般小于10行的函数),可以提升一定的效率,和宏相比,inline函数更加安全可靠

      6.缺点:增加了内存空间的消耗

    3.定义的内联函数只是给编译器一个建议,但是最后的决定权取决于编译器,如果内联函数的逻辑比较复杂(有循环或者递归之类),此时会内联失败。

     

  • 相关阅读:
    4-1 zookeeper常用命令行操作
    3 zookeeper 基本数据模型
    2 ZooKeep安装
    1 zookeeper的特性
    js数据类型
    javascript中的严格模式
    2 Vue中组件开发
    1 Vue的基础语法
    责任链设计模式
    四中网络专线接入方式
  • 原文地址:https://www.cnblogs.com/weiyouqing/p/12568562.html
Copyright © 2011-2022 走看看