zoukankan      html  css  js  c++  java
  • C++ inline函数与编译器设置

    1. 经过测试#define与inline的速度几乎没有区别。

    2. inline函数更为安全,有效避免了#define二义性问题。inline是真正的函数,而#define只是在字符串意义上的宏替换。

    3. 在开发工程的时候inline可以封装在类中,而#define不行,#define容易产生重复定义的问题。

    4. inline函数对编译器来说只是建议,因此编译器在编译的时候不一定按照inline函数进行展开。这就需要注意两个问题:

      1)inline函数的函数体不能复杂,否则编译器将按照一般函数处理,带返回值的inline函数推荐这样的形式,inline int f(int i) {return i*i}

      2)配置编译器时需要开启对inline函数的支持。VS是在Project->Properties->C/C++->Optimization->Inline Function Expansion 中设置。

  • 相关阅读:
    虚拟化技术KVM
    Rsync+Inotify实现文件自动同步
    第一次使用博客园
    kmp算法分析
    程序可移植性分析(一)数据类型
    strings用法小记
    size用法小记
    readelf用法小记
    nm用法小记
    ar用法小记
  • 原文地址:https://www.cnblogs.com/shawnpoo/p/3304283.html
Copyright © 2011-2022 走看看