Мән түрі және анықтама түрі - Value type and reference type - Wikipedia

Жылы компьютерлік бағдарламалау, деректер түрлері екі санатқа бөлуге болады: мән түрлері және анықтама түрлері. Мән түрінің мәні - бұл нақты мән. Анықтамалық типтің мәні - а анықтама басқа мәнге.[1][2]

Тіл бойынша жіктеу

ТілМән түріАнықтама түрі
C ++[3]логикалық белгілер, таңбалар, бүтін сандар, өзгермелі нүктелер, кластар (жолдарды, тізімдерді, карталарды, жиынтықтарды, стектерді, кезектерді қоса)сілтемелер, көрсеткіштер
Java[4]логикалық белгілер, таңбалар, бүтін сандар, өзгермелі нүктелермассивтер, сыныптар (оның ішінде өзгермейтін жолдар, тізімдер, сөздіктер, жиынтықтар, стектер, кезектер, санаулар), интерфейстер, нөлдік көрсеткіш
C #[5]құрылымдар (логикалық белгілер, таңбалар, бүтін сандар, өзгермелі нүктелер, тұрақты сандар, тізімдер, сөздіктер, жиынтықтар, стектер, кезектер, таңдау);сыныптар (өзгермейтін жолдар, массивтер, кортеждер, тізімдер, сөздіктер, жиынтықтар, стектер, кезектерді қосқанда), интерфейстер, сілтемелер
Свифт[6][7]құрылымдар (логикалық белгілер, таңбалар, бүтін сандар, өзгермелі нүктелер, тұрақты сандар, өзгертілетін жолдар, кортеждер, өзгертілетін массивтер, өзгертілетін сөздіктер, өзгертілетін жиындар), санамалар (соның ішінде міндетті емес), және басқаларын құрайтын пайдаланушы анықтаған құрылымдар мен санақтар мән түрлері.функциялар, кластар, интерфейстер
Python[8]сыныптар (өзгермейтін бульдер, өзгермейтін бүтін сандар, өзгермейтін өзгермелі нүктелер сандары, өзгермейтін күрделі сандар, өзгермейтін жолдар, байт жолдары, өзгермейтін байт жолдары, өзгермейтін кортеждер, өзгермейтін диапазондар, жадтың өзгермейтін көріністері, тізімдер, сөздіктер, жиынтықтар, өзгермейтін жиындар, нөлдер көрсеткіш)
JavaScript[9]өзгермейтін бульдер, өзгермейтін өзгермелі нүктелер сандары, өзгермейтін символдар, өзгермейтін жолдар, анықталмаған, прототиптер (тізімдерді қосқанда, нөлдік көрсеткіш)
OCaml[10][11]өзгермейтін таңбалар, өзгермейтін бүтін сандар, өзгермейтін өзгермелі нүктелер, өзгермейтін кортеждер, өзгермейтін санамалар (оның ішінде өзгермейтін бірліктер, өзгермейтін бульдер, өзгермейтін тізімдер, өзгермейтін опциялар), өзгермейтін ерекшеліктер, өзгермейтін пішімдеу жолдарымассивтер, өзгермейтін жолдар, байт жолдары, сөздіктер (соның ішінде сілтемелер)

Бокс және қораптан шығару

Бағалау типтері мен сілтеме түрлерін ажырататын бағдарламалау тілдері әдетте шақырылған механизмді ұсынады бокс, олардың кейбір немесе барлық мән түрлерін сілтеме түрлеріне орау үшін. Бұл мән түрлерін сілтеме түрлерін күткен контексте пайдалануға мүмкіндік береді. Кері процесс (мән түрін ашуға арналған) ретінде белгілі қораптан шығару.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Браун, Эрик Е. (2006). Windows Forms in Action. Shelter Island, Нью-Йорк: Мэннинг. б. 703. ISBN  978-1-932-39465-8.
  2. ^ Stephens, Rod (2014). C # 5.0 бағдарламашының анықтамасы. Индианаполис, Индиана: Джон Вили және ұлдары. б. 57. ISBN  978-1-118-84728-2.
  3. ^ «Type - cppreference.com». en.cppreference.com.
  4. ^ «4-тарау. Түрлері, мәндері және айнымалылар». docs.oracle.com.
  5. ^ «C # түйінді сөздер». docs.microsoft.com.
  6. ^ «Құрылымдар мен кластар - жылдам бағдарламалау тілі (Swift 5.2)». docs.swift.org.
  7. ^ «Жабықтар - Swift бағдарламалау тілі (Swift 5.2)». docs.swift.org.
  8. ^ «Кіріктірілген типтер - Python 3.8.2rc1 құжаттамасы». docs.python.org.
  9. ^ «ECMAScript® 2019 тіл ерекшелігі». www.ecma-international.org.
  10. ^ «24 тарау Негізгі кітапхана». caml.inria.fr.
  11. ^ «Өзгертілетін деректер құрылымы». caml.inria.fr.