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()

    {

         ...

    }

  • 相关阅读:
    hive学习
    spark Streaming
    spark sql
    参考
    数论基础
    2020.07.17模拟3
    2020.07.16模拟2
    关于Linux环境下的对拍
    2020.07.15模拟1
    三体
  • 原文地址:https://www.cnblogs.com/qrlozte/p/4337436.html
Copyright © 2011-2022 走看看