-4
我有兩個問題:何時包含C++頭文件?
使用比較功能,我需要包括
<string>
但我並不需要包括<cctype>
使用isdigit
,ispunct
等?<cctype>
和ctype.h
有什麼區別?爲什麼只有<string>
不是string.h
?
我有兩個問題:何時包含C++頭文件?
使用比較功能,我需要包括<string>
但我並不需要包括<cctype>
使用isdigit
,ispunct
等?
<cctype>
和ctype.h
有什麼區別?爲什麼只有<string>
不是string.h
?
始終包含您在一個文件中使用一切頭。如果您使用A和B的功能,那麼即使A包含B,也包含A和B,因爲明天A可能不包含B.如果不需要,爲什麼要忍受這種調試噩夢?每個文件應該是自我一致的。 系統標題也是如此。不保證string
或任何標題包含任何內容。一個實施可以包括所有的東西直到廚房水槽,而下一個實施或者相同實施的不同版本可以提前聲明它需要和繼續。不要在任何你無法控制的代碼中假設包含任何鏈接。
c *頭文件主要包裝來自C標準庫的* .h頭文件。這將C++版本放置在std名稱空間中,併爲您修改名稱。通常C++版本具有類型安全性調整或者是調用C版本的模板。
爲'string.h'相對應的是'cstring',就像所有用C當其他C-標準頭++(和類似於你就'cctype' VS'ctype.h'給的例子) 。 – WhozCraig
@WhozCraig #include和#include 有什麼區別? –
slowjams