2016-02-21 66 views
1

最近,我在整個inline語句來的兩個用途在頭文件來例如(1)我聽說使用inline是一種很好的風格。關於(2)如果使用inline,我不確定它是否會改變任何事情。 那麼,在任何一種情況下使用inline都會是不錯的風格,會影響編譯嗎?在線聲明類/結構

回答

1

在第一種情況下,不需要inline,因爲已經內聯的代碼已經作爲類成員同時定義和聲明。

inline在哪裏我的意思是說,每個翻譯單元將得到自己的版本的方法,不會干擾鏈接。

在第二個例子,而不inline你會得到自one definition rule鏈接錯誤不是由翻譯單元尊重:該方法被聲明的類內,但外部定義,這是不夠的編譯器,你必須明確指定每個翻譯單元都會得到它自己的方法副本(以後會進行優化)。

記住,這些因素將不會應用於意味着作爲省音,在調用點與它的身體直接替換其調用該方法的直列意義,這是優化編譯器的責任,這將照顧它,你不應該打擾暗示它。

+0

那麼你會認爲(1)是不錯的風格?你能否稍後向你提供一些陳述? – holzkohlengrill