В програмуванні, типи даних можна розподілити на дві категорії: значеннєвий тип (також тип-значення, англ. value type) і посилальний тип (також тип-посилання, англ. reference type). Величина значеннєвого типу зберігає фактичне значення. Значенням посилального типу є посилання на якесь значення.
Класифікація за мовою
Мова | Значеннєвий тип | Посилальний тип |
---|---|---|
booleans, characters, integer numbers, floating-point numbers, classes (включаючи strings, lists, maps, sets, stacks, queues), enumerations | references, pointers | |
Java | booleans, characters, integer numbers, floating-point numbers | arrays, classes (включаючи immutable strings, lists, dictionaries, sets, stacks, queues, enumerations), interfaces, null pointer |
(C#) | structures (включаючи booleans, characters, integer numbers, floating-point numbers, fixed-point numbers, lists, dictionaries, sets, stacks, queues, optionals), enumerations | classes (включаючи immutable strings, arrays, tuples, lists, dictionaries, sets, stacks, queues), interfaces, pointers |
Swift | structures (включаючи booleans, characters, integer numbers, floating-point numbers, fixed-point numbers, immutable strings, tuples, lists, dictionaries, sets, stacks, queues), enumerations (включаючи optionals) | functions, classes, interfaces |
Python | classes (включаючи immutable booleans, immutable integer numbers, immutable floating-point numbers, immutable complex numbers, immutable strings, byte strings, immutable byte strings, immutable tuples, immutable ranges, immutable memory views, lists, dictionaries, sets, immutable sets, null pointer) | |
JavaScript | immutable booleans, immutable floating-point numbers, immutable symbols, immutable strings, undefined, prototypes (включаючи lists, null pointer) | |
OCaml | immutable characters, immutable integer numbers, immutable floating-point numbers, immutable tuples, immutable enumerations (включаючи immutable units, immutable booleans, immutable lists, immutable optionals), immutable exceptions, immutable formatting strings | arrays, immutable strings, byte strings, dictionaries (включаючи pointers) |
Пакування та розпакування
Мови програмування, які відокремлюють значеннєві типи і посилальні типи, зазвичай пропонують механізм під назвою пакування (англ. boxing), для обгортання деяких або усіх значеннєвих типів у посилальні. Це дозволяє використовувати значеннєві типи у тих контекстах, де очікуються посилальні типи. Зворотний процес, для розгортання значеннєвого типу, називається розпакуванням (англ. unboxing).
Див. також
Примітки
- Brown, Erik E. (2006). . Shelter Island, New York: Manning. с. 703. ISBN . Архів оригіналу за 16 серпня 2018. Процитовано 8 квітня 2020.
- Stephens, Rod (2014). . Indianapolis, Indiana: John Wiley & Sons. с. 57. ISBN . Архів оригіналу за 16 серпня 2018. Процитовано 8 квітня 2020.
- . en.cppreference.com. Архів оригіналу за 13 листопада 2020. Процитовано 8 квітня 2020.
- . docs.oracle.com. Архів оригіналу за 29 серпня 2020. Процитовано 8 квітня 2020.
- . docs.microsoft.com. Архів оригіналу за 26 листопада 2020. Процитовано 8 квітня 2020.
- . docs.swift.org. Архів оригіналу за 11 грудня 2020. Процитовано 8 квітня 2020.
- . docs.swift.org. Архів оригіналу за 6 лютого 2021. Процитовано 8 квітня 2020.
- . docs.python.org. Архів оригіналу за 14 червня 2020. Процитовано 8 квітня 2020.
- . www.ecma-international.org. Архів оригіналу за 13 січня 2021. Процитовано 8 квітня 2020.
- . caml.inria.fr. Архів оригіналу за 2 липня 2020. Процитовано 8 квітня 2020.
- . caml.inria.fr. Архів оригіналу за 22 липня 2020. Процитовано 8 квітня 2020.
На цю статтю не посилаються інші статті Вікіпедії. Будь ласка розставте посилання відповідно до . |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет