3 回答
已采納

onemoo
TA貢獻883條經驗 獲得超454個贊
首先要指出,C++ 中根本就不應該使用<stdlib.h>!
C++ 從 C 標準庫中繼承了一些內容,但 C++ 標準并沒有直接使用 C 版本的頭文件。如同 C++ 標準庫頭文件都沒有 .h 擴展名一樣,C++ 版的 C 標準庫頭文件也沒有擴展名,并且還文件名前面加上字母 c 作為標識。所以 C 中的 <stdlib.h> 在 C++ 中應該是 <cstdlib>。? 不應該混用 C/C++ 的頭文件!
std 就是一個具名命名空間的名字。C++ 標準庫中的內容都在 std 這個命名空間中,也就是說 C++ 標準庫的所有頭文件中都聲明了 std 命名空間。好像你不應該理解為“誰的命名空間”,而是“std 命名空間存在于所有 C++ 標準庫頭文件中”。
那么:
如果你問“當c++頭文件中同時<iostream>和<stdlib.h>時......”
我只能說,stdlib.h 就不是 C++ 合法的頭文件,其中根本就沒有命名空間這個概念(C語言中不存在這個),所以?using namespace std 這個指令就允許你直接使用 iostream 頭文件中的內容,不需要用 std:: 來指定命名空間。
如果你問“當c++頭文件中同時<iostream>和<cstdlib>時......”
那使用?using namespace std?后你就可以直接使用這兩個頭文件中的內容了...
- 3 回答
- 0 關注
- 1735 瀏覽
添加回答
舉報
0/150
提交
取消