Ответы пользователя по тегу C++
  • Как выполнить данное задание?

    Adamos
    @Adamos
    Вычислить выражение в скобках для конечного числа N, получить результат всей формулы.
    Вычислить результат для N + 1. Сравнить с предыдущим, убедиться, что они совпадают до третьего знака после запятой. Если нет - продолжать увеличивать N, пока условие не начнет выполняться.
    Понадобится пара циклов и немножко математики.
    Ответ написан
  • Можно ли оптимизировать этот код?

    Adamos
    @Adamos
    Правильный ответ на вопрос - нет.
    Ибо для этого кода любая оптимизация будет преждевременной.
    Ответ написан
  • Почему работает (++i)++, но не работает ++(i++)?

    Adamos
    @Adamos
    ++i - увеличить переменную и вернуть ее. Результат этого выражения - сама переменная, вы можете применить к ней еще какие-нибудь операции, допустимые для переменной. Например, постфиксный инкремент.
    i++ - вернуть значение переменной, а потом увеличить ее. Результат этого выражения - не переменная, а ее прошлое значение. С ним нельзя выполнять операции, требующие именно переменной. Например, префиксный инкремент.
    Ответ написан
    Комментировать
  • Как взять название функции (и не только) из переменной и выполнить её?

    Adamos
    @Adamos
    Любой произвольной - никак. В C++ нет рефлексии.
    Только трюки, которые в общем случае могут быть сведены к if(input == "func") func();
    Ответ написан
    Комментировать
  • Скорость чистого перебора - как такое может быть?

    Adamos
    @Adamos Автор вопроса
    — Это просто, как блин, — сказал он. — Это тривиально. Это плоско и банально. Это даже неинтересно рассказывать

    QtCreator при сборке Release-версии, оказывается, почему-то забывает сообщить своему qmake, что собирается именно Release-версия.
    Прописанное в проекте QMAKE_CXXFLAGS_RELEASE += -Ofast - просто игнорируется.
    Достаточно заменить его на QMAKE_CXXFLAGS += -Ofast или добавить в вызов qmake CONFIG += release - и собранная программа в Лине на реальном железе, разумеется, сразу кроет виртуальные Винды, как то положено природой.
    Достаточно было внимательно заглянуть в вывод сборки, который, внезапно, от переключения между Debug и Release практически не менялся.
    А дырочка
    И щелочка
    И странное отверстьице
    Здесь вовсе ни при чем!
    Ответ написан
    Комментировать
  • Как понять что уже есть нужный набор знаний для создания приложений?

    Adamos
    @Adamos
    Если в курсе по программированию после каждой главы нет упражнений - это курс не по программированию.
    Первое приложение обычно начинают писать, имея не более 20% знаний, достаточных для написания этого самого приложения.
    Ответ написан
    Комментировать
  • Удобное написание UI на Win32 с анимациями?

    Adamos
    @Adamos
    Вместо Qt можно использовать wxWidgets. Оно пожиже и хуже развивается, зато, если вы знаете MFC, то Виджеты покажутся вам старыми знакомыми. И они используют нативные контролы, а не собственные, как Qt, так что приложения под винду получаются и легкими, и не чужеродными.
    Плюсом - про копание в винапи вы сможете забыть, как про страшный сон.
    Ответ написан
  • Библиотека или фреймворк для быстрой работы?

    Adamos
    @Adamos
    А зачем вам Кресты, если хочется работать уровнем выше? Почему тогда не Шарп?
    Удел ВинАПИ сейчас - это грязная работа там, где оно прибито гвоздями к виндам так, что кроссплатформенные библиотеки бессильны от этого абстрагироваться. Писать сколько-нибудь масштабный код на ВинАПИ - это как цепляться за ручную дрель, игнорируя электрические... что, естественно, не мешает вузам учить управлению ручной дрелью.
    Ответ написан
    Комментировать
  • Зачем нужен Boost?

    Adamos
    @Adamos
    У С++ есть стандартная библиотека - std - и нестандартная библиотека - boost.
    Прежде, чем писать велосипеды или шариться по репам в поисках библиотек, имеет смысл посмотреть в них.
    Знать наизусть весь Буст бессмысленно, но представлять, что в нем вообще может быть, и пробовать то, что может подойти к вашим задачам, для общего развития полезно.
    Ответ написан
    Комментировать
  • Как указать степень при вводе?

    Adamos
    @Adamos
    Вопрос, имхо, не имеет смысла в том виде, в котором задан.
    Нужно сформулировать более общую проблему: дать подробности о вводимых данных и способе ввода, а также решаемых целях.
    Только тогда можно рассчитывать на вменяемое решение.
    Например, если это гуй и постоянно вводятся числа такого порядка, то можно просто добавить переключение единиц "нано-", "пико-" и т.п.
    А вот такой парсинг с чисто математическими приведениями скорее приведет к дикой потере точности, которую потом замучишься вылавливать...
    Ответ написан
    8 комментариев
  • Где используется c++ сейчас?

    Adamos
    @Adamos
    Там, где:
    1. Требуется высокая производительность, что исключает тяп-ляп на Электронах и иже с ними.
    2. Проект слишком сложен и/или решает слишком много типовых проблем, чтобы писать его на С.
    3. Проект не завязан на винды и нет особенного смысла Шарпать.
    4. Проект не настолько энтерпрайзен, чтобы заводить аж целую Джаву.
    Самые характерные проекты в этих границах - десктопные приложения, движки для игр, а также серверные движки, эффективно выполняющие узкие задачи. Надо понимать, что Кресты используются именно для профессионального решения конкретных задач там, где это необходимо. Всякие там интерфейсы и API к ним ради гибкости делаются на более высокоуровневых языках.
    Это исключает основную массу дурной работы, так что крестовики-джуны рынком практически не востребованы.
    Ответ написан
    Комментировать
  • Как выводить русские буквы в консоль на С++?

    Adamos
    @Adamos
    Не пользовался поздними ВижуалСтудиями, но до 2010 включительно майкрософтовский компилятор в упор не вдуплял UTF без BOM. Не исключаю, что эта архиважная проблема так и не преодолена.
    Ответ написан
    Комментировать
  • C++ как сделать нормально отображение символов?

    Adamos
    @Adamos
    символ, который некорректно отображается в c++

    Это не символ некорректно отображается. Это в виндовской консоли традиционный бардак с кодировками.
    Ответ написан
    7 комментариев
  • Как можно в c/c++ изменять значения ОЗУ?

    Adamos
    @Adamos
    char *pointer = /* адрес в памяти */
    *pointer = 1;
    По стандарту языка - вы записали это значение в ячейку памяти по этому адресу.
    По реалиям современного программирования - куда ты полез? кто тебе выделил эту память? сегфолт тебе, а не бублик!...
    Ответ написан
    Комментировать
  • Почему использование пространства имен std считается плохой практикой?

    Adamos
    @Adamos
    Например, потому, что в пространстве std хренова туча объявленных в библиотеке функций, про которые вы, возможно, даже не подозреваете. И можете назвать свою собственную функцию так же. Даже не подозревая, что при каждом ее вызове компилятор теперь сомневается, которую использовать - вашу или библиотечную. И решение в пользу библиотечной (например, потому, что вы ошиблись в аргументах) окажется для вас сюрпризом.
    Ответ написан
    4 комментария
  • Как в C++ или Си вставить данные в файл без загрузки всего файла в буффер?

    Adamos
    @Adamos
    Только один: найти решение, не требующее записать произвольный текст в начало огромного бинарного файла, сдвигая все прочие данные.
    Например, может оказаться, что в этом месте можно заранее всобачить строчку на 100500 пробелов (сколько вам там нужно вставить максимум) и вы просто поверх них запишете нужное. Перезапишется один блок, остальные гонять по диску не потребуется.
    Ответ написан
    2 комментария
  • Возможно осилить Страуструпа в 16?

    Adamos
    @Adamos
    Целесообразно сходить на торренты и взять там ровно такую же пдф-ку бесплатно.
    Спрашивать на Тостере разрешения читать учебники - нецелесообразно.
    Ответ написан
    2 комментария
  • Как задать строку в C++?

    Adamos
    @Adamos
    Если вы работаете со строками в С++ - то вы либо пишете низкоуровневые утилиты - а значит, должны без проблем суметь найти и использовать библиотеку работы с UTF-8, либо пишете десктопное приложение на фреймворке, в котором стопудово уже есть реализация строки, работающая с юникодом, и ничего другого вам не нужно.
    Ответ написан
    Комментировать
  • Как написать видео редактор?

    Adamos
    @Adamos
    Мелко, Хоботов. Пиши уж сразу свою операционку.
    Для первого проекта - самое то, руководств в сети полно...
    Ответ написан