// 建構函式和陣列
#include
using namespace std;
/*是乙個語句*/
class ctest
//建構函式(1)
ctest
(int n,
int m)
//建構函式(2)
ctest()
//建構函式(3)};
intmain()
;// 三個元素分別用建構函式(1),(2),(3)初始化
cout <<
"array1[3] ended!"
<< endl;
/*乙個陣列中的不同物件元素可以指定使用不同的建構函式類初始化,未必都是用同乙個建構函式,由傳入的引數(型別+數量)來決定.*/
ctest array2[3]
=;//三個元素分別用(2),(2),(1)初始化
cout <<
"array2[3] ended!"
<< endl;
/*這是乙個指標陣列:*/
ctest * parray[3]
=;delete parray[0]
, parray[1]
;//兩個元素指向的物件分別用 (1),(2)初始化
/*先對parray[0]和parray[1]進行了初始化,把它們初始化為指向動態分配的ctest物件的 指標(位址)。
而這兩個動態分配出來的ctest物件,又分別是用建構函式(1)和建構函式(2)初始化的。
至於parray[2]沒有初始化,其值是隨機的,不知道指向**。
所以該陣列最終生成了兩個ctest物件,而不是3個所以也只呼叫ctest類的建構函式兩次。*/
cout <<
"array3[3] ended!"
<< endl;
return0;
}
重學c 函式和陣列
放假的時候再繼續重新自學c 今天看到函式和陣列 c 中,在函式中陣列引數對應的都是指標。重點在於 其一講陣列位址作為引數可以節省複製整個陣列的時間和記憶體 只要傳遞乙個陣列頭的位址 如果陣列很大,使用拷貝的系統開銷 空間以及時間 非常大。其二 使用原始資料增加了破壞陣列的風險 書上看的,不是很理解 ...
陣列和陣列函式
1 如果對全部元素賦初值 即提供全部初始資料 則定義陣列時對第一維的長度可以不指定,但第二維的長度不能省。2.gets 字元陣列 1 格式 gets 字元陣列名 2 作用 從終端輸入乙個字串到字元陣列,並且得 到乙個函式值。該函式值是字元陣列的首位址。gets函式這裡注意 如果和scanf s k ...
PHP陣列和陣列函式
陣列 array 能在乙個單獨的變數中儲存乙個或多個值,php中的陣列型別分為三類 索引陣列 陣列下標是數字索引,可以用索引訪問該陣列元素 關聯陣列 帶有鍵值和鍵名,可以通過鍵名訪問鍵值 多維陣列 陣列中包含陣列,指數組的巢狀 php中陣列的建立用關鍵字array 定義乙個索引陣列,索引陣列的索引從...