亚欧洲精品在线观看,窝窝影院午夜看片,久久国产成人午夜av影院宅,午夜91,免费国产人成网站,ts在线视频,欧美激情在线一区

C語(yǔ)言

c語(yǔ)言引用類(lèi)型和值類(lèi)型

時(shí)間:2025-05-01 11:03:35 C語(yǔ)言 我要投稿
  • 相關(guān)推薦

c語(yǔ)言引用類(lèi)型和值類(lèi)型

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

  引用類(lèi)型總是從托管堆上分配的。

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

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

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

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

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

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

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

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

  所有的枚舉都是從Enum抽象類(lèi)中派生的,Enum又是從ValueType派生的。

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

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

  值類(lèi)型應(yīng)滿(mǎn)足:

  1、類(lèi)型具有基元類(lèi)型

  2、類(lèi)型不需要從其他任何類(lèi)型繼承

  3、不會(huì)作為基類(lèi)

  4、類(lèi)型的大小不要超過(guò)16k

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

  1、不能將值類(lèi)型作為基類(lèi)型

  2、引用類(lèi)型變量包含的是堆上的一個(gè)對(duì)象地址。值類(lèi)型是值對(duì)象本身。

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

  4、引用類(lèi)型的多個(gè)變量可能引用堆中的同一個(gè)對(duì)象,值類(lèi)型是自成一體的,互不影響的。


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

c#引用類(lèi)型和值類(lèi)型10-09

c語(yǔ)言引用類(lèi)型與值類(lèi)型的區(qū)別詳解11-10

C語(yǔ)言變量的類(lèi)型10-30

C語(yǔ)言常量的類(lèi)型10-31

C語(yǔ)言指針的長(zhǎng)度和類(lèi)型詳解10-13

C語(yǔ)言指針的長(zhǎng)度和類(lèi)型講解05-14

C語(yǔ)言指針變量的類(lèi)型07-31

C語(yǔ)言基本類(lèi)型09-07

C語(yǔ)言的指針類(lèi)型詳解05-21