結構體與對象的聯系與區別
1.結構體是一種值類型,而類是引用類型。值類型用於存儲數據的值,引用類型用於存儲對實際數據的引用。
那么結構體就是當成值來使用的,類則通過引用來對實際數據操作。
2.結構使用棧存儲(Stack Allocation),而類使用堆存儲(Heap Allocation)
棧的空間相對較小.但是存儲在棧中的數據訪問效率相對較高.
堆的空間相對較大.但是存儲在堆中的數據的訪問效率相對較低.
3.類是反映現實事物的一種抽象,而結構體的作用只是一種包含了具體不同類別數據的一種包裝,結構體不具備類的繼承多態特性
4.結構體賦值是 直接賦值的值. 而對象的指針 賦值的是對象的地址
如何選擇結構還是類
1. 堆棧的空間有限,對於大量的邏輯的對象,創建類要比創建結構好一些
2. 結構表示如點、矩形和顏色這樣的輕量對象,例如,如果聲明一個含有 1000 個點對象的數組,則將為引用每個對象分配附加的內存。在此情況下,結構的成本較低。
3. 在表現抽象和多級別的對象層次時,類是最好的選擇
4. 大多數情況下該類型只是一些數據時,結構時最佳的選擇
---------------------
作者:轉角遇到bug
來源:CSDN
原文:https://blog.csdn.net/qq_40280582/article/details/80739873
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!