静态内联与静态内联

问题描述 投票:2回答:2

我注意到这两种方法都可行,在这里使用内联的正确方法是什么?

static inline int getAreaIndex()

OR

inline static int getAreaIndex()

此外,getAreaIndex包含一个大循环。有时我仅将其称为一个,有时通过循环调用,是否应该内联? (高10行)

c c-preprocessor inline c99
2个回答
1
投票

[功能说明符,例如inline,和存储类说明符,例如static,可以以任何顺序出现在函数声明中。

以上两个示例都具有完全相同的含义。


0
投票

根据C标准(6.7声明)

declaration:
    declaration-specifiers init-declarator-listopt ;
    static_assert-declaration

declaration-specifiers:
    storage-class-specifier declaration-specifiersopt
    type-specifier declaration-specifiersopt
    type-qualifier declaration-specifiersopt
    function-specifier declaration-specifiersopt
    alignment-specifier declaration-specifiersopt

这意味着您可以按任何顺序指定声明说明符。


0
投票

这里使用内联的正确方法是什么?>

static inlineinline static都被允许,它们的含义相同。 static inline是首选样式。

我应该内联此功能

要回答这个问题,您将需要同时对程序进行基准测试,并找出运行速度更快的方法。

© www.soinside.com 2019 - 2024. All rights reserved.