以下代码有什么区别:
class Foo { inline int SomeFunc() { return 42; } int AnotherFunc() { return 42; } };
两个函数都会被内联吗?内联实际上有什么区别吗?关于何时应该或不应该内联代码,是否有任何规则?我经常使用AnotherFunc
语法(例如访问器),但我很少inline
直接指定.
该inline
关键字本质上是一个暗示,编译器.使用inline
并不保证您的函数将被内联,也不会保证它不会保证.您只是让编译器知道尝试更加内联该特定函数可能是个好主意.
两种形式都应以完全相同的方式内联.内联对于类定义中定义的函数体是隐式的.
萨特的本周大师#33回答了你的一些问题以及更多问题.
http://www.gotw.ca/gotw/033.htm