它是否有助于在C++中将方法标记为内联?

ECl*_*son 3 c++ visual-studio-2012

我想我知道内联关键字的作用(似乎我没有),但是对于今天的编译器(在我的情况下是Visual Studio 2012的C++编译器),它是否受到编译器的尊重,或者编译器是否忽略它并且内联它的方法认为好吗?

Dav*_*eas 16

inline关键字与内联无关.它实际上意味着:此函数的多个定义可以出现在同一程序中的不同翻译单元中,而不会违反单一定义规则.

仅将其用于此目的,即,如果在标题中定义函数,则将其标记为inline(以便包含标题并因此生成函数的多个翻译单元可以链接在一起).

  • @ScottJones:在类中定义的成员函数隐式地为"inline",作为模板函数(从ODR的角度来看). (4认同)