為什么要有透明性?如果別人不關心實現,他可以折疊代碼(現在的IDE幾乎都支持),只看函數原型和注釋。不考慮需要替換【實現方法】的情況。不考慮繼承、多態、虛函數等。加上#pragma once,不考慮重定義。
2 回答

阿晨1998
TA貢獻2037條經驗 獲得超6個贊
樓上說的不對啊,分開定義根本目的并不是說重定義。就算你把函數定義在一個文件里面,照樣可以的,不然前向聲明還能存在嗎?分開定義首先是為了簡潔,誰會覺得把函數聲明和定義都放在一個文件里面好?第二,在程序設計中,編寫人員可能只提供一個.lib文件和頭文件或DLL文件,使用者便可以應用到自己的程序中,也是方便了隱藏代碼。不全面,請諒解。
追問
提供.lib&.dll也是為了隱藏代碼對嗎?這個(即實現了透明性)有什么好處?
追答
也不全是為這個啊。Lib文件和Dll文件是經過編譯的,所以使用者使用的時候編譯速度較純寫代碼快很多。而且Dll函數也有導出函數和非導出函數。使用者只能使用導出函數。
- 2 回答
- 0 關注
- 1412 瀏覽
添加回答
舉報
0/150
提交
取消