共同點(diǎn): 都可以將多個(gè)數(shù)據(jù)封裝為一個(gè)整體
不同點(diǎn):
--1. 結(jié)構(gòu)體只能封裝數(shù)據(jù) 類可以封裝行為
--2.結(jié)構(gòu)體在內(nèi)存中存在于棧上, 類對(duì)象存放于堆中
1. 棧的特點(diǎn): 分配空間小 但是存在棧上的數(shù)據(jù)訪問效率高
2. 堆的特點(diǎn): 分配空間相對(duì)較大, 但是數(shù)據(jù)訪問相對(duì)于棧,效率底下
-- 3. 結(jié)構(gòu)體的賦值是copy, 類對(duì)象的賦值是地址賦值
-- 4. 類屬性可以是結(jié)構(gòu)體, 類具有繼承
使用場景:
--1. 如果封裝的不僅有數(shù)據(jù)還有方法, 只能使用類
--2. 如果表示實(shí)體, 沒有方法,只有屬性
1. 如果屬性較少,只有幾個(gè)的情況下,就定義為結(jié)構(gòu)體, 存放棧中, 方便調(diào)用
2. 如果屬性較多,就不要定義為結(jié)構(gòu)體,因?yàn)檫@樣的結(jié)構(gòu)體在棧中會(huì)占用很多空間,反而會(huì)影響效率