Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Непонятный код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Запись трёхмерного массива string в файл http://www.cyberforum.ru/cpp-beginners/thread780090.html
Задан массив string M, который в процессе работы будет ежедневно пополнятся новыми словами. Как его записывать в файл, чтобы было удобно читать и редактировать ? Подскажите, пожалуйста, кто знает или...
C++ Обработка исключений Есть вопрос по заданию. С клавиатуры вводится номер ошибочной ситуации. В зависимости от того, какой номер введен, сгенерировать целочисельную, действительную или символьную ошибочную ситуацию.... http://www.cyberforum.ru/cpp-beginners/thread780083.html
C++ генерация чисел
Скажите, пожалуйста, как сгенерировать случайным образом отрицательные числа?
Объясните данный алгоритм/функцию C++
http://rabus.ru/mc/methodOfCoord.html#prim_1 Собственно каким образом это должно происходить? Как вообще и на основании чего это работает? Что там происходит, можете описать мне...
C++ Массив: найти для каждой строки число элементов, кратных пяти, и наибольший из полученных результатов http://www.cyberforum.ru/cpp-beginners/thread780066.html
N(10, 10) Для целочисленной матрицы найти для каждой строки число элементов, кратных пяти, и наибольший из полученных результатов. nij/5*5 = nij
C++ точность возвращения функции long double есть число a long double надо написать чтобы фунция возвращала число до 25 знака после запятой то есть return a.%25; (как правильно составить вот эту вот скобку) подробнее

Показать сообщение отдельно
StasGamilton
Эксперт по пяченькам
67 / 67 / 1
Регистрация: 16.08.2011
Сообщений: 258
08.02.2013, 02:08
Цитата Сообщение от kykyry3a Посмотреть сообщение
Скорость выполняния 1-го и 2-го варианта будет разная?
Если про скорость выполнения программы - то будет одинаковая, так как препроцессор даст один и тот же результат. Правда у меня возникли проблемы с этими примерами, компилятор ругается.

Цитата Сообщение от kykyry3a Посмотреть сообщение
Макрос должен переводить из 10-ой в 2-ую систему исчисления. Но не работает, пишет ошибку как это исправить?
Одно из использований директивы #define заключается в том, чтобы во время работы препроцессора она заменила макросы тем кодом, который справа от него. Т.е. не выполняется функция, а сначала этот код вставляется в нужное место, а потом производиться компиляция. Т.е. во время работы препроцессора не генерируется бинарники, а изменяется текст программы. Смотрим дальше, я еще повторюсь - "##" - это конкатенация лексем. Т.е. вместо
C++
1
ch=В8(3);
у тебя эта строчка после препроцессора будет выглядить так:
C++
1
ch=((3&128)?"1":"0")((3&64)?"1":"0")((3&32)?"1":"0")\((3&16)?"1":"0")\((3&8)?"1":"0")\((3&4)?"1":"0")((3&2)?"1":"0")((3&1)?"1":"0");
Т.е. бесмыслица.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru