精華區beta Programming 關於我們 聯絡資訊
謝謝您 這回答有如醍鵠灌頂啊 ※ 引述《tinlans.bbs@bbs.csie.nctu.edu.tw (汀)》之銘言: : ※ 引述《seagal.bbs@ptt.cc (待救的小米)》之銘言: : > 謝謝您的回答 : 還有變數及函式的「宣告式」, : struct、union 和 class 的「定義式」, : inline function 的「定義式」等等... : 為的當然是不希望在每個編譯單元裡由撰寫程式者複製貼上或手工重打一遍, : 因為既然是共用的東西,當然要維護它的一致性, : 免得改了一邊忘了改另一邊,造成錯誤發生。 : > 我無意要引起OO與非OO的論戰(我一開始就知道會戰起來 因此我強調是個人偏好) : > 我的疑問在於 : > 友人A認為C是C++的子集合 : > 因此每一隻C程式 都可以視為是C++ : 不,C++ 的確有「C 子集 (C subset)」這種名詞的存在, : 然而它並非是整個 C 的 set, : 正如第一段回文所說, : 利用 C 寬鬆型別檢驗特性所撰寫出來的程式不是 C++ 程式。 : > 聽起來很詭辯 但我實在沒有辦法想出為什麼不是這樣 : > 就好比人類是動物的子集合 : > 動物包含人類 貓 狗... : > 因此每個人類都是動物 : > 這 太詭異了 : 這是比喻失當所造成的困惑, : 不過比喻失當的原因在於你被「C++ 完全包含 C」的言論所誤導了... : 如果你想進一步知道 C 和 C++ 的不同點, : 可以看看 Incompatibilities Between ISO C and ISO C++ 這篇: : http://david.tribble.com/text/cdiffs.htm -- 生物資訊研究室:每天都會更新文件,提供生物資訊教學,生物字典。 http://www.bioinformatic.idv.tw -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.73.177