1樓:匿名使用者
1全部不加.h的是現在c++中規定的標準,目的在於使c++**用於移植和混合嵌入時不受副檔名.h的限制,避免因為.h而造成的額外的處理和修改
而加.h的是c語言的用法,但是在c++中也支援這種用法,主要是為了向下相容c 的內容,我們平時儘量不用這種方法
iostream是現在c++中規定的標準,目的在於使c++**用於移植和混合嵌入時不受副檔名.h的限制,避免因為.h而造成的額外的處理和修改。
iostream包含的基本功能和對應的舊標頭檔案相同,但標頭檔案的內容在名字空間std中。(在標準化的過程中,庫中有些部分的細節被修改了,所以舊標頭檔案和新標頭檔案中的實體不一定完全對應。) 一般情況下應該用這個標頭檔案,而iostream.
h則是老式的,以後有可能被淘汰。
經常在csdn以及其他之類的技術論壇上問關於c++ 標頭檔案的問題。提出這些問題的往往就是那些剛學c++的新手。當初我是菜鳥的時候也問過類似的問題。
現在來看看下面兩個include:
#include// 這個就是2023年標準化以後的標準標頭檔案
#include// 這個就是標準化以前的標頭檔案
更本質上的區別就是iostream把標準c++庫的元件放在一個名位std的namespace裡面。而相對的iostream.h則將這些標準元件放在全域性空間裡,同時在標準化以後舊有的c標準庫也已經經過改造了。
使用前者,就需要在**中新增語句:using namespace std;
看看下面這兩個標頭檔案
// 標準化後經過改造的c的標準庫,所有的元件都放在了std中
#include
// 標準化以前c++中的c標準庫
#include
// 在看看這個標頭檔案c標準庫下 基於char* 的字元處理函式庫
#include
// 在標準化以後他變成了這樣
#include
// 但是很多朋友還看見過這個字串處理函式庫,他包含了新的string class
#include
經過了標準委員會如此大規模手術後,在98年以前出品的c++編譯器(bc3.0,bc5.0)上能順利通過編譯的原始檔,在支援新標準的編譯器上可能無法順利通過編譯也就是很正常的事了。
2樓:匿名使用者
你是不是用的
#include "iostream"
using namespace std;
是的話改為
#include "iostream.h"
注意沒有using namespace std;了
3樓:
你的檔名字尾是.c還是.cpp?
如果是.c的話就是你檔案建錯了
4樓:雪寫江山
檔案發給我,我幫你改。[email protected]
VC 6 0中畫線不能改變粗細的問題
我不知道你mfc出了什麼問題,要不你直接呼叫win32 試試 建立畫筆 createpen hpen createpen int fnpenstyle,畫筆的樣式 int nwidth,畫筆的寬度 colorref crcolor 畫筆的顏色 建立成功,返回畫筆控制代碼 ps solid 實心線,可...
請教vc和pengl高手在用vc60執行opengl程式
1 首先請確認opengl應用環境的框架和應用 是否寫好了!例如檢查cview oncreate中的 ondraw中的最後是否使用了 glfinish,swapbuffers等等。最好的辦法是使用示例 寫給簡單測試程式。2 假如 確認無誤,請檢查系統使用的顯示卡驅動,安裝顯示卡廠商提供驅動程式。有部...
怎麼用vc6 0畫圖
北京瑞星資訊科技股份 實現一個簡單繪圖。include 繪相簿標頭檔案,繪圖語句需要 include 控制檯輸入輸出標頭檔案,getch 語句需要 void main initgraph 640,480 初始化640x480的繪圖螢幕 line 200,240,440,240 畫線 200,240 ...