Пт янв 08, 2021 07:22:46
Пт янв 08, 2021 07:55:36
Пт янв 08, 2021 08:11:05
Пт янв 08, 2021 08:52:14
Пт янв 08, 2021 09:06:45
Пт янв 08, 2021 13:46:06
Пт янв 08, 2021 14:22:54
тот код соответствует коду:
a = c
и компилятор его нормально скомпилит.
Что такое "испортит логику" - не понимаю. Логика тут простая - "а присвоить с", какая же ещё?
Только скоростью. Как уже выше сказали. Если не только скоростью - код кривой.
Или приведите реальный пример такого кода, работа которого будет отличаться в зависимости от оптимизации (на нормальном компиляторе, а не некоем почти никем не используемым и давно заброшенным).
Пт янв 08, 2021 14:49:46
Пт янв 08, 2021 15:39:09
Пт янв 08, 2021 15:51:46
Пт янв 08, 2021 16:27:24
Пт янв 08, 2021 16:33:02
Пт янв 08, 2021 17:02:13
enum {b, c};
int a;
Пт янв 08, 2021 17:06:20
Использование float чревато лишь из-за способа представления данных, в результате которого в отсутствие чёткого понимания механизма, может быть, например, неверное сравнение в условии.
Понятно. Но я уже говорил - спорить не буду. Не видите очевидного, сами себе противоречите (volatile - то же опция) - Ваше счастие. Да и куда мне, неумехе-то, у которого инструмент виноват. У меня даже понимание термина "алгоритм" другое. Неверное.А "опции отключающие" - придумали главным образом - для возможности отладки с привязкой к исходному коду.
Пт янв 08, 2021 17:27:08
static char const t[] = "0\0" "1\0" "2\0" "3\0" "4\0" "5\0" "6\0" "7\0" "8\0" "9";
for (char const *s = &t[0]; atoi(s) < 9; s += strlen(s) + 1) {
... //в теле цикла s не используется, только для счётчика цикла!!
}
Пт янв 08, 2021 17:29:24
Пт янв 08, 2021 17:41:29
Пт янв 08, 2021 19:27:44
Сб янв 09, 2021 08:39:59
struct B
{
operator int(){__enable_irq(); return 0;}
};
struct C
{
operator int(){__disable_irq(); return 1;}
};
int main()
{
int a;
B b;
C c;
a=b;
// CPSIE I
a=c;
// CPSID I
}
Вс янв 10, 2021 12:43:44
Увидел важную информацию для программистов, ...