为什么不将boost :: shared_ptr - >运算符声明为内联?

Ala*_*lan 2 c++ boost inline shared-ptr

既然boost::shared_ptr可以非常频繁地调用并简单地返回一个指针,那么->运算符不是一个好的候选者inlined吗?

T * operator-> () const // never throws
{
    BOOST_ASSERT(px != 0);
    return px;
}
Run Code Online (Sandbox Code Playgroud)

一个好的编译器会自动inline这个吗?

我应该失眠吗?:-)

小智 18

在类中定义的函数(即使用正文)是内联的隐式候选者.inline在这些情况下不需要使用关键字,这样做很不寻常.