С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 11.05.2017
Сообщений: 48
1

Разобрать синтаксис и операции используемые в алгоритме

25.05.2018, 16:39. Показов 594. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
встретил код вида:
Кликните здесь для просмотра всего текста

Не по теме:

#define t(s,code) { enum { \
i=o8m & (s[o8]>90 ? (130+" (),-089<>?BCFGHJLSVWZ[^hlmnxy|}"[s[o8]-94]) \
: (s[o8]-" (("[s[o8]/39])) }; if(i) { code; } }
URLoriginalcode



первое интересует здесь запись вида "что то"[i],
такая запись вполне корректна, и выдает какой то результат, который зависит от магических букв в "", вот такая странная перегрузка [] для константного строкового значения, что это за операция ?
например:
C++
1
2
int a = "(),-08<>?BCFGHJLSVWZ[^hlmnxy|"[1];
std::cout << a << std::endl;
результат = 41

второе - : двоеточие, если я не ошибаюсь это часть тернарного оператора, а вы как думаете ?
C++
1
2
3
#define t(s,code) { enum { \
i=o8m & (s[o8]>90 ? (130+" (),-089<>?BCFGHJLSVWZ[^hlmnxy|}"[s[o8]-94]) \
: (s[o8]-" (("[s[o8]/39])) }; if(i) { code; } }
третье если
C++
1
2
(s[o8]>90 ? (130+" (),-089<>?BCFGHJLSVWZ[^hlmnxy|}"[s[o8]-94]) \
                              : (s[o8]-" (("[s[o8]/39]))
это тернарный оператор вида (val > NUM ? NUM : NUM) то, что означает i=o8m & перед скобками, операция "побитового и" с выражением полученным после раскрытия скобки, или что то еще ?

четвертое дополнительные скобки после раскрытия макроса #define t(s,code) - { enum {... .}; if(i){code;} } зачем они ? стандарт вроде допускает такое, но ведь они не-обязательны, или нет ?

Добавлено через 15 минут
да первое как и думал это обращение к массиву char
почему то компилятор глюканул
остальные вопросы пока еще в силе

C++
1
2
char ch = "(),-08<>?BCFGHJLSVWZ[^hlmnxy|"[0];
std::cout << ch << std::endl;
результат ='('

Добавлено через 12 часов 20 минут
это C++ да еще SDL пардон [перепутал тему]
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2018, 16:39
Ответы с готовыми решениями:

Разобрать синтаксис цикла
не пойму цикл: for(i=0;s;i++) точнее не пойму,что означает s?это s!='/0'? if(!(*str))- да и что...

Разобрать синтаксис вызова метода
Здравствуйте, подскажите что означает данный синтаксис вызова метода: Process.Start(new...

Разобрать синтаксис процедуры sp_executesql
Не могу понять немного синтаксис данной процедуры....

Побитовые операции - разобрать пример
Доброго времени суток, уважаемые программисты! Помогите разобраться с побитовыми операциями. К...

0
25.05.2018, 16:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2018, 16:39
Помогаю со студенческими работами здесь

Адресация и логические операции - разобрать код
Добрый день, помогите разобраться с лабораторными работами студенту. 1) по адресации часть кода...

Как перевести синтаксис макроса VBA (Excel) в синтаксис Visual FoxPro
Здравствуйте! Скажите пожалуйста, как перевести синтаксис записанного макроса в excel в синтаксис...

Как перевести синтаксис Intel в синтаксис AT&T? (ассемблерная вставка в СИ)
Извиняюсь, что, возможно, пишу не в ту тему. Нужен именно AT&amp;T синтаксит. В качестве примера для...

Синтаксис запросов vs. синтаксис методов
Занимаюсь изучением LINQ'a, и возник вопрос, как переписать следующий запрос IEnumerable&lt;int&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru