Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
BacCM

Василий Мельников

C++ почти с рождения
  • 51
    вклад
  • 27
    вопросов
  • 107
    ответов
  • 28%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как реализовать плавное изменение переменной(float)?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Величину плавного изменения на подели интервал времени. Проверяй время и меняй значние. К Lua как к языку это вряд ли модно отнести
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Как начать Lua?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    tylerneylon.com/a/learn-lua

    А потом сюда

    https://love2d.org/

    там с примерами - можно сразу игрушку писать простенькую, хоть на ПК хоть на андроид
    Ответ написан более года назад
    Комментировать
    Комментировать
  • Самомодифицирующийся код на c++ изменяющий значения переменой для нового запуска?

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

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Можно наложить по AND все инверсированные значения флагов и если будет не 0 то есть лишний "неверный" бит
    На C

    size_t value = // Откуда-то получили
    
    bool isValid = (value & ~(MASK1 | MASK2 | MASK3)) == 0;
    Ответ написан более года назад
    2 комментария
    2 комментария
  • Header-only. Страдает ли размер бинарника?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Первый вопрос нет.
    По второй части. Размер бинарника "страдает" только от того сколько вариантов инстанцирования шаблона будет в коде.

    грубо говоря:

    template <class T> 
    T foo (T t)
    {
      return t;
    }
    /// вызовы гдет-то.
    
    foo(10); /// увеличивает размер бинарника генерится код int foo(int)
    foo(10.0); /// увеличивает размер бинарника генерится код double foo(double)
    foo(1); /// не увеличивает размер бинарника генерится используется код int foo(int)
    Ответ написан более года назад
    3 комментария
    3 комментария
  • Указатель или Индекс элемента?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Квадратные скобки это более удобный и читабельный вариант записи
    a[i] обозначает ровно *(a+i)

    Поэтому законен и валиден код

    1[a] = 42;

    Для обращения в первому элементу массива например.

    Иногда нет необходимости аводить отдельную переменную для индекса, и тогда код без скобок может быть предпочтительнее:

    size_t i = 0;
    while (a[i] != 0) {
      a[i] = 3;  /// <- тут если без оптимизации лишняя операция с индексами :)
      ++i;
    }
    
    // или
    
    while (*a != 0) {
      *a = 3;
      ++a;
    }
    // правда тут надо понимать, что a изменилась после цикла
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Можно ли в markdown добавить разрыв страницы?

    BacCM
    Василий Мельников @BacCM Автор вопроса
    C++ почти с рождения
    Пока обхожусь вставкой HTML кода

    <div class="page"/>

    Мои конвертеры в pdf съедают нормально.

    Кстати если интересно, недавно откыл для себя создание презетаций из Markdown
    Расирение для vs code marp

    там страницы (слайды) делятся так:
    ---
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как сделать выбор y/n?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    char answer;
    cin >> answer;
    if (answer == 'y') {
    cout << "Ура заработало :) ";
    }
    Ответ написан более двух лет назад
    2 комментария
    2 комментария
  • Как проверить ошибки в вводимом тексте?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Я бы поискал какой-нибудь бесплатный spellchecker. Самому такое слишком затратно делать. Сходу нашлось пара заброшенных проектов для golang.
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Кроссплатформенная разработка desktop приложения. Что посоветуете?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Тут важный вопрос, кросплатформанность на уровне исполнемых файлов или исходного кода?
    Во втором случае всякие варианты с Qt, WxWidgets, GTK+ и прочими подобными фремворками.
    А в первом...
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • На правильном ли я пути к удалению ненужных функций из памяти во время выполнения кода?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Освободить память от функций не удастся. Выделение памяти под класс - это выделение памяти под его данные, а не под код.
    Даже очитска памяти нулями сомнительна - код вполне может быть размещен в области памяти в которую запрещена запись.

    Проще всего сделать динамически подгружаемую библиотеку с сервисными функциями, и после отработки твоих функций выгружать её из памяти.
    Ответ написан более двух лет назад
    4 комментария
    4 комментария
  • Go для десктопа?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    К Go прикрутили достаточно много ГИП фреймворков, поэтому вполне можно писать и десктопные приложения. Вопрос только зачем?

    А кстати. Когда-то наваял утилитку для Redmine, т.к. был неплохая либа для работы с REST API Redmine. Консольное десктопное приложение, годится как пример?
    Ответ написан более двух лет назад
    Комментировать
    Комментировать
  • Как оптимально считать матрицу с консоли c++?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    getline надо передавать указатель на уже выделенный блок памяти
    можно вместо istream::getline использовать std::getline(istr, string)
    Ну и дальше по коду всё ещё хуже
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Есть ли в С++ метод toString у классов?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Есть поделки с рукописной рефлексией. У Антона Полухина есть доклад, если не ошибаюсь, на эту тему.
    Но вот реально ли оно надо?
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Ошибка при чтении из файла в си.Что делать?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    1. Стоит проверять что возвращает функция чтения fscanf.
    Она явно не смогла прочитать число из потока.
    У тебя в файле после последней единицы что-то есть типа возврата строки, пробела или чего-то подобного.

    2. Уже к чистоте кода держите переменные ближе к месту использования. temp сразу перед fscanf и ещё и чем нибудь инициализировать. Тогда как минимум в подобных случаях будет не последнее значение, а "маркер"
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Следует ли начинать изучение C++ с C?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Лучше начинать с C++. Иначе на C++ будете писать как на Си с классами.
    Правда в любом случае будет больно. Например в современном C++ про ручное выделение и управление памятью можно не думать. Есть всякие хорошие вещи типа идиом RAII, шаблонов и перегрузки функций. Неплохая стандартная библиотека (и boost для тех кому надо). Перейти на C в большие проекты - будет больно, очень больно. Но лучше так чем наоборот.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как скомпилировать 3 файла в с++?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Используй какой-либо сборщик проектов. Если винда, то проект в VS
    Если линукс, то проще всего наверно Qt Creator поставить.

    Можно просто перечислить в том чем компилируешь файлы .cpp

    Хотя самое правильное, это изучить CMake или еще что-то подобное.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • На чем писать кроссплатформенное десктопное приложение?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Qt и gtk+ ко многим языкам прикручены, но с разного рода компромиссами.
    Чем плох C# и java, и C++ С Qt не понимаю.
    Go интересный язык, со своими тараканами, можно конечно и gui слепить но так себе, не для этого он.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Почему в intellij idea автоматически появляется строчка @Override?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Обозначает, что метод перекрывается. Т.е. сохраняет те же входные и выходные параметры что и в базовом классе. Если с ним не комплируется, значит ошиблись с их типами или количеством.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как упростить сравнение 4 чисел с помощью if?

    BacCM
    Василий Мельников @BacCM
    C++ почти с рождения
    Чем проще написать тем лучше. Если значений только четыре и не предполагается это количество менять. То просто написать условие. Но лучше эту проверку вынести в правильно названую функцию, чтобы читающий код понимал что происходит.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Следующие →
Самые активные сегодня
  • GNUBack
    • 10 ответов
    • 0 вопросов
  • nedosekinstanislav
    Stanislav
    • 7 ответов
    • 0 вопросов
  • Drno
    • 7 ответов
    • 0 вопросов
  • alexey-m-ukolov
    Алексей Уколов
    • 7 ответов
    • 0 вопросов
  • Deita
    Deita
    • 4 ответа
    • 2 вопроса
  • Rsa97
    Rsa97
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации