亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

c語言引用類型和值類型

時(shí)間:2024-09-07 14:24:18 C語言 我要投稿
  • 相關(guān)推薦

c語言引用類型和值類型

  CLR支持兩種類型:引用類型和值類型。下面就有小編分享c語言引用類型和值類型,歡迎大家學(xué)習(xí)!

  引用類型總是從托管堆上分配的。

  c#中的New操作符返回對象的內(nèi)存地址。

  引用對象的注意點(diǎn):

  1、內(nèi)存從托管堆中分配

  2、堆上分配對象,有一些額外的操作,影響一些性能的

  3、從托管堆中分配一個對象時(shí),可能強(qiáng)制執(zhí)行一次垃圾回收。

  CLR中的值類型是輕量級的。不需要提領(lǐng)一個指針,不需要垃圾回收,可以減少垃圾回收的次數(shù)。

  在CLR中一般稱為“類”的都是引用類型,所有的值類型都稱為結(jié)構(gòu)或者枚舉。

  所有的結(jié)構(gòu)都是抽象類ValueType的直接派生類。ValueType是直接從Object派生的。

  所有的枚舉都是從Enum抽象類中派生的,Enum又是從ValueType派生的。

  一個值類型可以實(shí)現(xiàn)一個或者多個接口,但是不能繼承基類。所有的值類型都是隱式密封的。

  c#中用struct聲明結(jié)構(gòu),class聲明類。

  值類型應(yīng)滿足:

  1、類型具有基元類型

  2、類型不需要從其他任何類型繼承

  3、不會作為基類

  4、類型的大小不要超過16k

  值類型和引用類型的不同點(diǎn):

  1、不能將值類型作為基類型

  2、引用類型變量包含的是堆上的一個對象地址。值類型是值對象本身。

  3、值類型賦值的時(shí)候會執(zhí)行一次逐字段的復(fù)制,引用類型變量賦值的時(shí)候,只復(fù)制內(nèi)存地址。

  4、引用類型的多個變量可能引用堆中的同一個對象,值類型是自成一體的,互不影響的。


【c語言引用類型和值類型】相關(guān)文章:

C語言常量的類型10-31

C語言變量的類型10-30

C語言類型轉(zhuǎn)換的方法08-05

C語言的枚舉類型知識07-22

C語言的指針類型詳解05-21

C語言基本類型09-07

C語言的數(shù)據(jù)類型介紹07-16

C語言的數(shù)據(jù)類型有哪些10-11

C語言結(jié)構(gòu)體、共同體和用戶定義類型06-25

C語言基礎(chǔ)之?dāng)?shù)據(jù)類型轉(zhuǎn)換09-23