zoukankan      html  css  js  c++  java
  • C++ inline

    刚才遇到LNK2019错误,检查半天,什么obj文件的链接顺序啊,LIB文件的路径啊,都没有解决问题

    仔细看了一下报错的内容,发现涉及到我写的一个inline函数

    然后上网搜了一下关于inline的具体用法,摘自http://www.cnblogs.com/berry/articles/1582702.html

    建议把inline函数的定义放到头文件中。在每个调用该inline函数的文件中包含该头文件。这种方法保证对每个inline函数只有一个定义

    关键字inline 必须与函数定义体放在一起才能使函数成为内联,仅将inline 放在函数声明前面不起任何作用

    而我是这样做的:

    在头文件A.h中写上了声明:void func();

    在文件A.cpp中写的实现:inline void func() { ... }

    很明显问题在哪里了:应该把inline函数的声明和实现都放到A.h中。

    建议的做法是:在A.h中,按如下格式书写。虽然写法比较啰嗦,但是这样强调了inline关键字是“实现细节”,是不需要customer programmer关心的,所以inline不用写在函数声明中。

    void func();

    inline void func()

    {

         ...

    }

  • 相关阅读:
    Android 基础-2.0 拔打电话号码
    Android 基础-1.0 按钮4种点击事件
    Android Studio 技巧备忘
    Android Studio Mac版快捷键
    face++静态库转为动态库之二
    Podfile语法参考
    iOS 高级去水印,涂鸦去水印
    vector 用法小例子
    UltraCompare 激活
    linux 日志查询
  • 原文地址:https://www.cnblogs.com/qrlozte/p/4337436.html
Copyright © 2011-2022 走看看