当前位置:  开发笔记 > 编程语言 > 正文

内联C++代码

如何解决《内联C++代码》经验,为你挑选了3个好方法。

以下代码有什么区别:

class Foo  
{
  inline int SomeFunc() { return 42; }
  int AnotherFunc() { return 42; }
};

两个函数都会被内联吗?内联实际上有什么区别吗?关于何时应该或不应该内联代码,是否有任何规则?我经常使用AnotherFunc语法(例如访问器),但我很少inline直接指定.



1> Greg Hewgill..:

inline关键字本质上是一个暗示,编译器.使用inline并不保证您的函数被内联,也不会保证它不会保证.您只是让编译器知道尝试更加内联该特定函数可能是个好主意.



2> Branan..:

两种形式都应以完全相同的方式内联.内联对于类定义中定义的函数体是隐式的.


在C++ '03标准中,实际引用是9.3/2:"在其类定义中可以定义成员函数(8.4),在这种情况下,它是内联成员函数(7.1.2),......"
C++注释,第6.3.1节.http://www.icce.rug.nl/documents/cplusplus/cplusplus06.html#definline

3> Nemanja Trif..:

萨特的本周大师#33回答了你的一些问题以及更多问题.

http://www.gotw.ca/gotw/033.htm

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有