2017-05-29 68 views
0

这可能是一个愚蠢的问题,但我好奇来自不同类的内联类函数,都是内联的?

当你在C++中的类中定义一个函数时,它会自动内联。

当你有2个类,并且类'a'从类'b'调用函数时,会发生什么情况,这两个函数都在相应的头文件中定义,它们是否均扩展为内联?

class a 
{ 
    void check_stuff() 
    { 
     b.do_stuff(param); 
    } 
}; 

class b 
{ 
    type xyz; 

    public: 
    void do_stuff(type in) 
    { 
    xyz += in; 
    } 
}; 
+0

在'a :: check_stuff()'中,'b'是一个类型,而不是一个对象。 – aschepler

回答

1

是它们都扩展为内联?

函数是否内联以及函数调用是否内联展开并不直接相互关联。内联函数可以在不扩展的情况下调用,在某些情况下,非内联函数可以内联扩展。

是的,它是p ossible在内嵌扩展函数内部扩展函数。