2014-01-25 126 views
1

我是C++的新手,我被告知不要使用Inline和Constructors(包含用戶定義的數據類型作爲參數)和析構函數。C++中構造函數和析構函數的內聯使用

C++中有這樣的東西嗎?

我認爲使用Inline作爲構造函數和析構函數是很好的,只要它們簡短(不復雜)。

有人可以幫我。一個例子會有幫助。謝謝。

+2

你被告知廢話。在構造函數和析構函數中使用'inline'完全沒問題。請注意,使用'inline'進行優化是非常沒有價值的。唯一真正的用途是允許你在頭文件中放置代碼。 – Simple

+0

@Simple在頭文件中使用代碼有什麼用處? – starkk92

+0

@ starkk92它可以允許編譯器執行更積極的優化,代價是客戶端代碼與您的實現耦合,代碼可能在那裏需要,但可能不構成類定義的一部分。 – juanchopanza

回答

3

沒有這樣的規則。內聯只不過是給編譯器一個暗示,它可以在它上面做任何事情。

注意,方法類的聲明定義是隱式內聯,和現代編譯器支持鏈接時優化,讓內聯跨多個編譯單元...

所以給的提示對你的想法是正確的喜歡簡短的函數或構造並相信你的編譯器做的最好,它會在99.9%正確

相關問題