Edw*_*ard 2 c++ inline compiler-optimization
我刚刚inline在微软网站上研究了C++关键字的使用和好处/陷阱,我理解了所有这些.
我的问题是:如果编译器评估函数以查看内联它们是否会导致代码更高效且inline关键字只是编译器的建议,为什么还要烦恼关键字呢?
编辑:很多人都抱怨我的使用(还修复了网站链接)__inline而不是inline.我想指出的__inline是微软特有的:所以它没有错,它不一定是你习惯的.
EDIT2:重新格式化问题以指示inline关键字(在所有C++中使用)而不是特定于Microsoft的__inline关键字.
首先,它不是__inline,但是inline.
其次,inline一种定义规则中的效果无疑是重要的.它允许您多次定义函数并让编译器来处理它.
第三,关于实际的inilining,这是你不仅向编译器表达你对该函数的意见的方式,而且是对那些可能稍后阅读你的代码的人的意见.在许多情况下,这是一种释放蒸汽的方法,可以这么说.基本上,这是你告诉其他人和你自己的一种方式:"我觉得这个功能太小(或太专业)无法证明调用开销,所以不要让我对这种讽刺负责.我做了所有我如果不是因为你公司范围内的愚蠢编码标准,我会把它变成一个宏".在这方面,这是一种正式的评论.
第四,看到你使用了关键字的特定于实现的拼写,我注意到一些实现为你提供了替代关键字,让你有机会更多......呃...... 说服你想要内联函数.在MS编译器中__forceinline.