"If an int can represent all values of the original type (as restricted by the width, for a bit-field), the value is converted to an int; otherwise, it is converted to an unsigned int. These are called the integer promotions. Integer promotions preserve the value, including the sign."
Это конечно наследие Си. Если же нужен тип, который нельзя складывать, то можно просто написать свой класс. Хотя редко кто заморачивается.
40 лет назад все можно было окинуть мысленным взором, а лет за десять до этого одни и те же люди писали и численные методы и бухгалтерию (преп рассказывал). Теперь все специалисты. К пуговицам претензии есть?
Ну ведь у все специалистов все равно есть квалифицированные мнения по всем вопросам. Особенности профессии. Вот я не слыхал, чтобы рэпер рассуждал о Бахе или даже о Колтрейне.
"The value of sizeof(bool) is implementation defined and might differ from 1."
Обычно sizeof(bool) == 1. Но это не важно, так как в арифметических выражениях bool преобразуется к int. A sizeof(int) обычно равно 4, кое-где 8, кое-где 2.
no subject
Date: 2021-10-16 23:18 (UTC)хотя может быть и char
то есть напечатает 1 или sizeof(int)
no subject
Date: 2021-10-17 02:24 (UTC)А почему вообще разрешено складывать булевы?
no subject
Date: 2021-10-17 02:57 (UTC)Потому что можно в Си
в Си можно для совместимости, потому что раньше не было типа bool (появился в C99), а эмулировался через #define
no subject
Date: 2021-10-17 08:33 (UTC)no subject
Date: 2021-10-17 09:49 (UTC)no subject
Date: 2021-10-17 13:01 (UTC)Так шо, получится 2? :)Отставить, проглядел там sizeof.
no subject
Date: 2021-10-17 13:57 (UTC)Это нелепая точка зрения. Сложить фигня; а ведь и делить можно. false / true.
Вспомнил, конечно, старые времена.
no subject
Date: 2021-10-17 14:07 (UTC)no subject
Date: 2021-10-17 14:19 (UTC)Вот она, троичная логика.
#define undefined = true/false
- при условии, что ложь мы объявим нулем.no subject
Date: 2021-10-17 17:57 (UTC)no subject
Date: 2021-10-17 10:46 (UTC)Это конечно наследие Си. Если же нужен тип, который нельзя складывать,
то можно просто написать свой класс. Хотя редко кто заморачивается.
no subject
Date: 2021-10-17 16:01 (UTC)no subject
Date: 2021-10-17 16:24 (UTC)Ну это-то да; полутипизированный язык. 30 лет назад это выглядело нормально; сейчас смешно.
no subject
Date: 2021-10-17 16:30 (UTC)no subject
Date: 2021-10-17 16:51 (UTC)Ну ведь у все специалистов все равно есть квалифицированные мнения по всем вопросам. Особенности профессии. Вот я не слыхал, чтобы рэпер рассуждал о Бахе или даже о Колтрейне.
no subject
Date: 2021-10-17 16:57 (UTC)Я уверен что найдется рэпер с мнением о Бахе. А о стереотипном рэпере в вакууме у меня мнения нет.
no subject
Date: 2021-10-17 17:10 (UTC)Не будучи специалистом ни в той ни в другой области, могу только вздохнуть.
no subject
Date: 2021-10-17 03:29 (UTC)no subject
Date: 2021-10-17 03:53 (UTC)Но неявный кастинг приоритетно в сторону int.
no subject
Date: 2021-10-17 03:56 (UTC)no subject
Date: 2021-10-17 19:21 (UTC)Обычно sizeof(bool) == 1. Но это не важно, так как в арифметических выражениях bool преобразуется к int. A sizeof(int) обычно равно 4, кое-где 8, кое-где 2.
no subject
Date: 2021-10-17 07:50 (UTC)Ну, от битности системы, конечно, зависит, может и '2'. Но в современном мире, в основном, '4'.
no subject
Date: 2021-10-17 08:10 (UTC)sizeof(int)
, думается мне. На современных машинах скорее всего 4.no subject
Date: 2021-10-17 08:17 (UTC)С точностью конечно до того, что это не программа %)
no subject
Date: 2021-10-17 09:40 (UTC)no subject
Date: 2021-10-17 12:42 (UTC)no subject
Date: 2021-10-17 17:11 (UTC)no subject
Date: 2021-10-17 18:11 (UTC)no subject
Date: 2021-10-17 21:30 (UTC)