Google C++編程規範 – 第二十一條 -《-inl.h文件》

本原創文章屬於《Linux大棚》博客。

博客地址爲http://roclinux.cn

文章作者爲roc wu

==

【規則】

你可以在後綴爲-inl.h的頭文件中定義比較複雜的內聯函數。

【詳解】

原則上,內聯函數的定義應該放在頭文件中,以便編譯器能夠在內聯函數調用時直接展開代碼。然而,按照.h文件和.cpp/.cc文件的作用區分,又應該將函數的定義放在.cpp/.cc文件中才對。如何是好呢?

如果明確可以增強可讀性,或者確認可以提高性能的話,是可以把內斂函數的定義直接放在頭文件中的,比如私有變量的Get/Set類方法。而對於比較複雜的內聯函數,雖然也可以放在.h頭文件中,但還是建議你把它單獨提出來放在後綴爲-inl.h的頭文件中,然後由.h頭文件來include進來,這樣使得代碼結構更清晰,也使得類定義和實現相分離。

其實-inl.h的使用方法,還可以用在函數模板的定義上,這樣會使你的模板定義更加清晰可讀。

最後提醒一句,不要忘記在-inl.h中仍然要使用#define防禦哦。

謝謝!

作者 rocrocket 於 5:47 下午

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章