From 406caa8feea51371e01f04e050efeba18be496ec Mon Sep 17 00:00:00 2001 From: Gregory Lirent Date: Wed, 17 Aug 2022 11:20:23 +0300 Subject: [PATCH] =?UTF-8?q?Update=20page=20'1.1.=20=D0=A1=D0=B8=D1=81?= =?UTF-8?q?=D1=82=D0=B5=D0=BC=D0=B0=20=D1=82=D0=B8=D0=BF=D0=BE=D0=B2'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.1. Система типов.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/1.1. Система типов.md b/1.1. Система типов.md index ca02266..e8e8e8f 100644 --- a/1.1. Система типов.md +++ b/1.1. Система типов.md @@ -30,6 +30,8 @@ Каждому из вышеперечисленных типов, соотвествует константа, установленная в рамках перечисления **[vtype](https://gogs.lirent.ru/lirent/libcdsb/src/master/include/vtype.h)**, которая, в свою очередь, определяет поведение ряда контейнеров (ячеек внутри контейнеров), а также должна обрабатываться пользовательским кодом, для однозначного определения типа поступивших данных. +#### Сравнение системных числовых типов + Деталью, требующей дополнительного упоминания, является принцип сравнения системных числовых типов, что является важным аспектом при поиске значений, внутри контейнеров. Так, - `(vtype_bool)1 == (vtype_int64)1` @@ -43,4 +45,18 @@ Иными словами, сравнение всегда производится на базе реального значения числа, а не на базе представления данного числа в памяти. Соответсвенно, в случае необходимости разделения чисел не только по значению, но и по типу, данная задача лежит в плоскости пользовательского решения, так как решение оной не предоставляется данным проектом. +#### Межтиповое сравнение + +В случае, если производится сравнение между несравнимыми типами (например, между **vtype_int64** и **vtype_string**) большим будет всегда то значение, значение константы типа которого (**[vtype](https://gogs.lirent.ru/lirent/libcdsb/src/master/include/vtype.h)**) больше другого. + +#### Сравнение контейнеров между собой + +Контейнеры имеющие один и тот же тип, - сравнимы между собой. Однако равны они будут только в том случае, если + +- Они имеют равное количество элементов +- Они имеют равнозначный порядок элементов +- Значение их элементов полностью эквиваленты как по ключу (там, где это применимо), так и по значению. + +В противном случае, результат сравнения будет равен результату первого несоответствия данным условиям. + [Далее: 1.2. Работа с памятью](https://gogs.lirent.ru/lirent/libcdsb/wiki/1.2.+%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0+%D1%81+%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C%D1%8E) \ No newline at end of file