确定小函数以将其声明为内联

时间:2018-05-29 15:13:47

标签: c++ inline

我看到很多关于将方法声明为$Text = [char[]]'example{}()[]^%+~' $FormattedCharArray = foreach ($char in $Text) { if ($char -match '({|}|\(|\)|\[|\]|\^|%|\+|~)'){ "{$char}" } else { $char } } $FormattedCharArray -join '' 的帖子 使用inline的经验法则之一是当方法非常小时 我猜它没有特定的数字 - 但是非常小有多小? 1行(例如 - inline / Getter)?
~10 / 100行?

1 个答案:

答案 0 :(得分:1)

我有一个20行模板函数,它使用许多常量(逻辑清晰)。

我可以把它写成1个班轮,但这不容易理解。

当使用优化编译时,该函数有时可以只是1个汇编指令。所以它标记为内联。

所以代码行不是一个好的衡量标准。

inline只是编译器的一个提示。它没有内联。即使没有inline,编译器也可以做到。

我在应用内联之前做研究,因为可能会产生负面后果(代码因膨胀而减慢)。

与往常一样,衡量它是否会改善您的代码。