OC 和 C 中宣告和實現檔案分開的寫法有哪些利弊?

時間 2021-05-31 17:25:55

1樓:wp zh

給你一輛汽車,一般情況下你是不需要去關注發動機、變速箱、底盤細節的。

標頭檔案就像方向盤、離合器、剎車、油門、變速器。你只需要關注並使用它們即可。

至於其他細節,你知道他們的存在就行了,除非你想做乙個汽車設計、製造、維修師。

就利弊來講,我覺得沒有弊。

2樓:潘坤

同意@陳碩

C/C++/OC 的標頭檔案是過時的,沒啥利,歷史包袱罷了。

另外補充一點,反對其它說.h .cpp分開,是為了.h能做介面文件的說法。

如果僅僅為了這種需求,編譯器加個編譯選項,把語法分析之後的介面格式化並輸出不就行了?哪用得著程式設計師這麼費時費力的人肉寫......

3樓:劉鑫

標頭檔案這個是C的設計,後來C系的語言都繼承了這個思路,但是新一代的語言都沒有了。已經不必再仔細研究為什麼了,除非你要做開發工具。

4樓:魯哈花

優勢就是簡單粗暴,包含標頭檔案(或任意檔案)就是要把它複製過來一併處理,多麼好理解。劣勢就是迴圈引用、包含次序不對等令人頭疼的問題。不過對於熟手來說這基本都不是問題,對新手來說比較頭疼。

OC中的BOOL用YES和NO表示,其他語言大多用true和false,為什麼會有這種差別,哪種表示更好?

旁觀者 BOOL a 8960 列印是0bool b 8960 列印是1Objective C 中的BOOL 實際上是一種對帶符號的字元型別 signed char 的型別定義 typedef 它使用8位的儲存空間。通過 define指令把YES定義為1,NO定義為0。至於使用YES NO還是tru...

C和C 的適用場合?如何建立C 實現的動態庫?動態庫如何保證向後相容,即二進位制相容性?

馮東 C 和 C 標準都沒有規定二進位制相容。但是這不意味著 C 和 C 在這件事情上是等同的。所謂 標準沒有規定 A 是說 不存在乙個通用的方法保證 A 在所有編譯器和 OS 的組合上都成立 但是它並不會阻止乙個更弱一些的方案,就是 在每個編譯器和 OS 的組合上至少存在乙個方案讓 A 成立 C ...

網頁 head 標籤中的 JS 和 CSS,哪種檔案放在前面,哪種放在後面比較好?

Morning 不同意因為js指令碼會阻塞dom構建的原因,而將js指令碼放在末尾。Edit fiddle JSFiddle 就算放在末尾了,也一樣會阻塞dom的構建。 吳釗 說的是對的,以色列的開發人員加希尓在翻閱了現代瀏覽器核心原始碼以後,寫了一文 現代瀏覽器工作原理 瀏覽器中分主副解析引擎。h...