亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

難道為了性能還非得把類的seter和geter函數的實現直接寫頭文件里了?

難道為了性能還非得把類的seter和geter函數的實現直接寫頭文件里了?

C++
三國紛爭 2023-04-03 17:13:43
內聯函數的實現如果寫在其他源文件中,是否能被內聯到如果技術上要實現這點可能得在鏈接過程中做再次編譯操作了按以往的經驗來看貌似在其他源文件中的函數是沒法內聯的比較奇怪為什么一般編譯器不實現跨文件內聯
查看完整描述

2 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

常見編譯器都有這個功能,比如說
VS的/GL (Whole Program Optimization)編譯選項. 
我相信其他主流編譯器,比如gcc,icc都會有這樣的優化。


查看完整回答
反對 回復 2023-04-07
?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

內聯函數具有一般函數的特性,它與一般函數所不同之處只在于函數調用的處理。一般函數進行調用時,要將程序執行權轉到被調用函數中,然后再返回到調用它的函數中;而內聯函數在調用時,是將調用表達式用內聯函數體來替換。在使用內聯函數時,應注意如下幾點:
1.在內聯函數內不允許用循環語句和開關語句?!∪绻麅嚷摵瘮涤羞@些語句,則編譯將該函數視同普通函數那樣產生函數調用代碼,遞歸函數(自己調用自己的函數)是不能被用來做內聯函數的。內聯函數只適合于只有1~5行的小函數。對一個含有許多語句的大函數,函數調用和返回的開銷相對來說微不足道,所以也沒有必要用內聯函數實現。
2.內聯函數的定義必須出現在內聯函數第一次被調用之前。
3.類結構中所有在類說明內部定義的函數是內聯函數。

查看完整回答
反對 回復 2023-04-07
  • 2 回答
  • 0 關注
  • 151 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號