Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: непонятная конструкция
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Zelepuk
никак не пойму что означают такие конструкции

//sequence table
#define BLABLABLA_MAIN \
BLABLABLA_1, \
BLABLABLA_BLA, \
BLABLABLA

причём потом в коде вижу такое:

enum
{
BLABLABLA_1 = -6,
BLABLABLA_BLA = -5,
BLABLABLA = -4,
};

static const int8_t func_steps[] =
{
BLABLABLA_MAIN
};

разъясниет пожалуйста что это и где обычно такое может применяться.
Палыч
Цитата(Zelepuk @ Nov 2 2011, 17:59) *
разъясниет пожалуйста что это и где обычно такое может применяться.

Вопрос, наверное, про обратные косые в конце строчек?
Дело в том, что препроцессорная define должна занимать только одну строчку, что не всегда удобно при длинных выражениях. Обратная косая указывает на то, что строка имеет продолжение в следующей строке (т.е. фактически можно убирать обратную косую и следующие за ней символы новой строки).
Zelepuk
правильно ли я понимаю, что:

static const int8_t func_steps[] =
{
BLABLABLA_MAIN
};

Эквивалентно

static const int8_t func_steps[] =
{
-6, -5, -4
};
sigmaN
правильно
demiurg_spb
Цитата(Zelepuk @ Nov 2 2011, 17:56) *
правильно ли я понимаю, что:
Вы не гадайте, а посмотрите выход перепроцессора (обычно файлики с расширением *.i).
Любой компилятор (препроцессор) должен уметь их генерить при подаче ему соответствующего ключика.
skripach
Главное за косой пробелы не ставить.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.