Ответы пользователя по тегу C++
  • Шаблон прототип или конструктор копирования?

    Nirail
    @Nirail
    Дайте мне повод и я во все решу
    Паттерн (Design pattern/Шаблон проектирования) - как следует из названия, это подход к проектированию классов/архитектуры и т.п. и в разных языках может реализовываться с использованием разных инструментов языка.

    Например, шаблон "Прототип", может быть реализован в С++ с использованием конструктора копирования.

    Шаблоны позволяют эффективно решать типовые проблемы возникающие при продумывании архитектуры кода, до момента непосредственного написания кода, при этом ставится задача не "вписать" задачу в шаблоны, а упростить решение задачи используя шаблоны.

    Таким образом выбор между шаблон или конструктор, по большей части не корректен.
    Ответ написан
    Комментировать
  • Как исправить ошибки компилятора С++ ?

    Nirail
    @Nirail
    Дайте мне повод и я во все решу
    Функция log не принимает целочисленный аргумент, нужно явно преобразовать к одному из следующих: long double, double, float.
    Ответ написан
    1 комментарий
  • Почему C++ программа может работать с некорректно выделенной памятью?

    Nirail
    @Nirail
    Дайте мне повод и я во все решу
    Такое вполне возможно:
    Компилятор создал объект A а в B* b записал "мусор".
    "Думая" что по адресу *b находится объект класса B он читает и записывает логическое значение куда-то в памяти (так как простые методы getFlag и setFlag скорее всего оптимизируются на простое обращение к атрибуту flag и это объясняет падение при отладке). При вызове сложной функции, собственно, и возникает SegFault.
    Ответ написан
    2 комментария
  • Как реализовать 2D машинку?

    Nirail
    @Nirail
    Дайте мне повод и я во все решу
    Использовать вектор направления движения:
    UP - передвигает "машинку" на некоторое расстояние вдоль вектора.
    LEFT/RIGHT - поворачивают вектор направления на определенный угол.

    Конкретная реализация уже на собственное усмотрение ( работа с вектором в элементарном виде легко реализуется даже стандартными средствами C++, использование SDL для реализации управления легко найти в интернете).
    Ответ написан
    Комментировать