靜態與動態記憶體分配的兩個主要區別:
1、靜態物件是有名字的變數,我們直接對其進行操作。而動態
物件是沒有名字的變數,可通過指標間接地對它進行操作。
2、靜態物件的分配與釋放由編譯器自動處理。動態物件的分配
與釋放,必須由程式設計師顯式地管理,由new和delete兩個表示式
完成。new的兩個版本:
1、用於分配特定型別的單個物件。如:
int *point = new int ( 1024 );注:小括號
分配了一人沒有名字的int 型物件,物件初始值為1024。
2、用於分配特定型別和維數的陣列。如:
int *pia = new int[ 4 ]; 注:中括號
分配了乙個含有四個整數元素的陣列。
delete的兩個版本:
1、刪除單個物件
delete pint;
2、刪除乙個物件陣列
delete pia;
檔案的輸入輸出
#include
為了開啟乙個僅被用於輸出的檔案(即寫入),要先定義乙個ofst
ream(輸出檔案流)類物件
如:ofstream outfile("copy.txt",ios_base::out);
傳遞給ofstream建構函式的實參分別指定了要開啟的檔案
名和開啟模式。ofstream檔案可以被開啟為輸出模式(ios_base:
以輸出模式開啟。
下面的定義與上面的等價:
ofstream outfile("copy.txt");
區別:輸了模式下開啟已經存在的檔案,則所有儲存在該檔案中的
資料都將被丟棄。
附加模式下開啟已經存在的檔案,則新寫到檔案中的資料是
增加到瑞有檔案內容的尾部,而不會替換現有檔案內容。
注:如果用這兩種模式開啟的檔案不存在,則程式都會建立
乙個新檔案。
ifstream infile;
infile.open(filename.c_str());
如輸出:
#include
int main()
char ch;
while(cin.get(ch))
outfile.put(ch);
outfile.close();
}如輸入:
#include
int main()
char ch;
while (infile.get(ch))
cout.put(ch);
infile.close();
}
C C學習筆記
1.儲存型別 標準c語言為變數 常量 函式定義了4種儲存型別 extern,auto,static,register,它們分別用乙個關鍵字 儲存型別說明符 來說明。這4種儲存型別可分為兩種生存期限 永久的 即整個程式執行期間都存在 extern和static 和臨時的 即暫時儲存在堆疊和暫存器中 a...
C,C 學習筆記
1.求a的n次方 標頭檔案pow a,n a,n都為double 2.關於指標的一些小測試 includeusing namespace std int main int a 8 int m 3 cout 3.sort位於 algorithm 中,sort p,p n 預設公升序排列。4.inclu...
C C 高階學習筆記(二) 容器vector
vector可以理解為存放各種相同物件的容器,相當於乙個可變長的陣列,元素可以是各種物件 歡迎到 我的部落格 檢視更詳細的內容 包含標頭檔案 include 定義和初始化 vector ivec1 定義int容器 vector ivec2 ivec1 複製ivec1的內容到ivec2 vector ...