1. 程式人生 > >結構體與物件的聯絡與區別

結構體與物件的聯絡與區別

結構體與物件的聯絡與區別

1.結構體是一種值型別,而類是引用型別。值型別用於儲存資料的值,引用型別用於儲存對實際資料的引用。

那麼結構體就是當成值來使用的,類則通過引用來對實際資料操作。

 

2.結構使用棧儲存(Stack Allocation),而類使用堆儲存(Heap Allocation)

 

棧的空間相對較小.但是儲存在棧中的資料訪問效率相對較高.

堆的空間相對較大.但是儲存在堆中的資料的訪問效率相對較低.

 

3.類是反映現實事物的一種抽象,而結構體的作用只是一種包含了具體不同類別資料的一種包裝,結構體不具備類的繼承多型特性

 

4.結構體賦值是 直接賦值的值. 而物件的指標 賦值的是物件的地址

 

如何選擇結構還是類

1. 堆疊的空間有限,對於大量的邏輯的物件,建立類要比建立結構好一些
2. 結構表示如點、矩形和顏色這樣的輕量物件,例如,如果宣告一個含有 1000 個點物件的陣列,則將為引用每個物件分配附加的記憶體。在此情況下,結構的成本較低。
3. 在表現抽象和多級別的物件層次時,類是最好的選擇
4. 大多數情況下該型別只是一些資料時,結構時最佳的選擇
---------------------
作者:轉角遇到bug
來源:CSDN
原文:https://blog.csdn.net/qq_40280582/article/details/80739873
版權宣告:本文為博主原創文章,轉載請附上博文連結!