25 下列以 C++語言撰寫的程式編譯及執行後的輸出為何?
(A)P
(B)空白無輸出
(C)程式發生執行錯誤
(D)程式無法通過編譯

(A)P
(B)空白無輸出
(C)程式發生執行錯誤
(D)程式無法通過編譯
答案:登入後查看
統計: A(71), B(115), C(63), D(52), E(0) #852258
統計: A(71), B(115), C(63), D(52), E(0) #852258
詳解 (共 8 筆)
#1163644
main() 函式中, 並沒有任何要 "輸出" 的敍述
4
5
#1117337
free(p)將p還原成0了
3
4
#5622502
malloc與free是C++/C語言的標準庫函式,new/delete是C++的運算子。它們都可用於申請動態記憶體和釋放記憶體
當我們使用new建立新物件時,程式會自動執行建構函式。建構式/建構函式/建構子(Constructor)
物件在建立的同時要自動執行建構函式,物件在消亡之前要自動執行解構函式。由於malloc/free是庫函式而不是運算子,不在編譯器控制權限之內,不能夠把執行建構函式和解構函式的任務強加於malloc/free
new可以認為是malloc加建構函式的執行。new出來的指標是直接帶型別資訊的。而malloc返回的都是void*指標
重點 : new 建立的是一個物件;alloc分配的是一塊記憶體.
經實測,new 確實會呼叫建構子/建構函式
大全在這邊
1
0
#1103161
有人能說明嗎?
0
0
#1117338
P*p=0
0
3