malloc與calloc的區(qū)別 C中為什么不可以用new開辟空間然后賦給結(jié)構(gòu)體指針?
C中為什么不可以用new開辟空間然后賦給結(jié)構(gòu)體指針?這個pot不應(yīng)該被C記憶,因為它只調(diào)用malloc。資源管理是操作系統(tǒng)的業(yè)務(wù)。操作系統(tǒng)不能保證malloc的結(jié)果符合代碼的業(yè)務(wù)邏輯。從操作系統(tǒng)的角度
C中為什么不可以用new開辟空間然后賦給結(jié)構(gòu)體指針?
這個pot不應(yīng)該被C記憶,因為它只調(diào)用malloc。資源管理是操作系統(tǒng)的業(yè)務(wù)。操作系統(tǒng)不能保證malloc的結(jié)果符合代碼的業(yè)務(wù)邏輯。從操作系統(tǒng)的角度來看,這兩個malloc調(diào)用分別是正確的,無論是否分配了相鄰的地址。業(yè)務(wù)邏輯是程序員的工作Malloc可以重載,Malloc可以重載,Malloc可以重載,Malloc可以重載,Malloc可以重載,Malloc可以重載,Malloc可以重載,Malloc可以重載,Malloc可以重載,Malloc可以重載,Malloc可以重載,malloc可以重載,malloc可以重載,malloc可以重載,malloc可以重載Int b}AB*AB=new AB{}
new實際上是應(yīng)用空間并調(diào)用構(gòu)造函數(shù)的過程。應(yīng)用程序空間需要應(yīng)用程序?qū)ο蟮拇笮?。我沒有研究new操作符的重載,但是如果我認(rèn)為new需要對象空間的大小。就像C中的malloc函數(shù)一樣,參數(shù)應(yīng)該是sizeof(a),所以我認(rèn)為new a()是隱式調(diào)用sizeof(a)到new并調(diào)用a()的過程。