[問題] 新手關於 #include 的問題

看板C_and_CPP (C/C++)作者 (所有狗類的主人)時間15年前 (2011/04/08 17:41), 編輯推噓4(4010)
留言14則, 5人參與, 最新討論串1/10 (看更多)
「要引入正確的標頭檔才能使用裡面所定義的函式」 例如寫上 #include <math.h> 就可以引用 math.h 裡面所有的函式。 可是對於剛接觸 C++ 的人來說, 他不太清楚所寫的程式會引用到哪個標頭檔。 所以我想說能不能把所有標頭檔在開始就都一股作氣全寫上去? 不管要寫什麼程式,像這樣: #include <math.h> #include <iostream.h> #include <iostream> ... ... ... 就先存起來複製貼上,雖然無腦但也省了找對應標頭檔的時間, 可是看了一堆程式碼都沒看到這樣的用法? 是高手不屑這樣用還是這樣用會出啥問題呢,@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.229.243.247

04/08 17:52, , 1F
姑且不論有什麼問題,但我認為哪個函式在哪個表頭檔是件
04/08 17:52, 1F

04/08 17:53, , 2F
重要的事,要知道.有些compiler會自己提供額外的func,
04/08 17:53, 2F

04/08 17:53, , 3F
終究還是要去查是在哪個 header 裡面.
04/08 17:53, 3F

04/08 18:06, , 4F
當然可以, 但是這樣會讓編譯速度變...得...非...常...慢
04/08 18:06, 4F

04/08 18:08, , 5F
這種概念在比較新的語言裡確實有(例如 Java 的 package
04/08 18:08, 5F

04/08 18:09, , 6F
概念), 不過就是取捨問題加上編譯器實作問題造成的結果
04/08 18:09, 6F

04/08 18:10, , 7F
有一些東西 沒用到也編譯當然會變慢搂
04/08 18:10, 7F

04/08 18:50, , 8F
的確可以把一堆header全合在一起 而且還會神奇地變快
04/08 18:50, 8F

04/08 18:51, , 9F
關鍵字:precompiled header
04/08 18:51, 9F

04/08 18:52, , 10F
不過建議你先專注在語言上
04/08 18:52, 10F

04/08 18:53, , 11F
另外,用到什麼函式就加上該函式的header有助於閱讀
04/08 18:53, 11F

04/08 18:55, , 12F
你比較容易了解程式的相依性 日後要移植功能會比較容易
04/08 18:55, 12F

04/08 19:46, , 13F
pch 不是對引入標頭檔順序相同才有用嗎?
04/08 19:46, 13F

04/08 21:42, , 14F
一般來說會放進pch的 引入順序並不重要
04/08 21:42, 14F
文章代碼(AID): #1DdjXTgX (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DdjXTgX (C_and_CPP)