2017-05-29 73 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在內嵌擴展函數內部擴展函數。