Задать вопрос
  • Потрачу ли я время зря, продолжая учиться в ВУЗ'е, который мне не нравится?

    abcd1234228 , сделай одну простую штуку. Изучи что такое "Синдром Питера Пэна", возьми свою жизнь в свои руки и не срами больше своих родителей. Они такого отношения от тебя не заслужили, какими бы они в твоих глазах ни были.
    Выходов у тебя масса. Изучи другие направления обучения и переведись. Отчисляйся и иди в армию. Стисни зубы, прими вызов и защити диплом на текущем обучении. Предприми самостоятельные и результативные усилия, аватарки из интернетиков для тебя решить эти проблемы не смогут.
  • Что здесь написано?

    @MarkusD Куратор тега C++
    lnxlnxlnx , прошу обратить повторное внимание на П3.4 регламента работы сервиса.
    ... сервис вопросов и ответов «Хабр Q&A» не является форумом ...
  • Как одновременно выполнять трансформация нескольких обьектов?

    IliaNeverov
    допустим есть куб и прямоугольник , куб двигается по какой либо из осей, а прямоугольник вращается

    Такое объяснение сильно расходится с формулировкой "одновременно выполнять трансформацию нескольких объектов". Твоя формулировка говорит о том, что тебе необходимо понимание системы Scene graph.
    Но твое объяснение говорит о том, что тебе необходимо понимание элементарного ООП.

    Буквально, следуя слово за словом по твоему объяснению.
    У тебя есть два объекта. Один из них имеет форму куба, второй - форму параллелепипеда (не прямоугольника). Заметить надо, что объекты имеют форму, а не являются формой. Для объекта с формой куба применяется анимация движения вдоль оси. Для объекта с формой параллелепипеда применяется анимация вращения вокруг центра его локальной системы координат.
    Что конкретно у тебя не получается из этого всего понять или сделать?
  • Как одновременно выполнять трансформация нескольких обьектов?

    IliaNeverov , а что ты понимаешь под трансформацией нескольких объектов?
  • Как реализовать равномерный генератор случайных чисел на с++?

    @MarkusD Куратор тега C++
    lukepker, он выдает одни и те же значения потому что ты неправильно им воспользовался.
    В документации есть пример правильного использования.
  • Как реализовать равномерный генератор случайных чисел на с++?

    @MarkusD Куратор тега C++
    lukepker , а в чем состоит проблема использования генераторов стандартной библиотеки?
  • FREEGLUT error codeblocks c++ (No such file or directory)?

    @MarkusD Куратор тега C++
    maks_cpp , обрати внимание на П3.2, П3.6 и П3.8 регламента работы сервиса.
    Увы, но предложения в стиле изложения на русском языке и английскими словами выглядят неинформативно.
  • Как ограничить ввод цифр на с++?

    @MarkusD Куратор тега C++
    pokanoobpython, если у тебя все работает и твой вопрос решен, то стоит отметить ответ как решение.
  • Как убрать большое количество "this->"?

    @MarkusD Куратор тега C++
    zRrr, вот именно с этого кода начинать и стоило.

    В шаблонизированных классах нужно явно указывать наследованные члены класса

    Такая формулировка сбивает тебя с толку. Верно отражающая действительность формулировка будет такой:
    В в области видимости шаблона типа через неквалифицированный доступ видны только поля самого шаблона и локальные переменные.
    a = 1; - это попытка обращения к полю через неквалифицированный доступ.
    В момент инстанцирования типа из шаблона транслятор это поле искать будет только внутри самого шаблона и не найдет, т.к. поле лежит в другом шаблоне и для доступа туда уже требуется квалификация.
    this для квалификации, хоть это и работает, использовать в таком случае вообще неправильно.

    using Base<T>::var; - это операция создания псевдонима поля в локальной области видимости шаблона типа. И это не всегда удобно. И это приведет к проблемам если такое имя уже есть в локальной области шаблона типа или если ты это поле переименуешь в базовом шаблоне. А еще это снова будет сбивать тебя с толку, т.к. в месте работы с полем не будет понимания, откуда это поле взялось.
    Самый удобный и универсальный способ - это использование полной квалификации поля или метода при обращении.
    template <class T>
    class Derived : private Base<T>
    {
    public:
        using Parent = Base<T>;
        
        Derived() {
            Parent::a = 1;
            Parent::b = 2;
            Parent::c = 3;
        }
    };

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

    @MarkusD Куратор тега C++
    zRrr , а в чем состоит проблема не писать this вообще?
    Использование this оправдано в исчезающе малом количестве случаев.
    Кажется, ситуация твоего вопроса не раскрыта, потому что пока видно что и код твоего ответа тоже является излишним.
  • Как отследить одновременное нажатие кнопок с++?

    @MarkusD Куратор тега C++
    IliaNeverov , т.е. тебе не достаточно прошлого комментария по твоему вопросу?
    conio.h не определяет нажатие клавиш на клавиатуре. Эта библиотека дает доступ к чтению потока ввода консоли, который может производиться не с клавиатуры, а из файла или вывода другой программы.
    У оконного приложения нет консоли и нет потоков ввода-вывода, conio.h даст доступ к тому, что не работает.

    Тебе стоит написать, на каких платформах и какую именно функциональность ты хочешь получить. Клавиатура есть и у мыши, и у геймпада, и у тачпадов некоторых тоже есть.
  • Как отследить какая кнопка была нажата на клавиатуре и если она нажата вызвать функцию?

    @MarkusD Куратор тега C++
    IliaNeverov , стандарт C++ не оперирует такими терминами, как "клавиатура", "клавиша" или "кнопка нажата".
    На твой вопрос невозможно ответить в терминах стандарта языка без использования сторонних библиотек.
  • Куда кидать скачанные библиотеки в mingw?

    @MarkusD Куратор тега C++
    kaktak255, сейчас проблема только в том, что ты нарушаешь правила и не предоставляешь информацию для возможности ответа.
    Соответственно, об ответе речи уже не идет.
  • Куда кидать скачанные библиотеки в mingw?

    @MarkusD Куратор тега C++
    kaktak255, отредактируй тогда свой вопрос с учетом соблюдения регламента и размести ссылку на репозиторий с кодом, который ты пытаешься собрать.
    Только так у тебя будут шансы получить нормальный ответ на свой вопрос.
  • Как загрузить объект класса из dll библиотеки?

    Kamikadze1024 , общим типом между библиотекой и основным кодом может быть только интерфейс.
    Фабричную функцию ты правильно придумал использовать, однако тебе нужно реализовать и функцию деструкции экземпляра, созданного фабричной функцией. Это потому что аллокатор внутри библиотеки может быть полностью другим и попытка удалить объект библиотеки из кода основного модуля с высокой вероятностью будет фатальной.
    В библиотеке твоя фабричная функция должна создавать экземпляр типа с экспортным интерфейсом. Основной же код сможет пользоваться исключительно виртуальными функциями принятого интерфейса.
  • Куда кидать скачанные библиотеки в mingw?

    @MarkusD Куратор тега C++
    kaktak255, прошу обратить повторное внимание на П3.8 регламента работы сервиса.
    Код в изображениях размещать запрещено. Допустимо - только в виде текста, под соответствующим тегом.

    нашел исходники , решил затестить

    Тебе стоило сразу указать на источник того кода, который ты собираешь.
  • Что делать если отсутствует библиотека SFML?

    @MarkusD Куратор тега C++
    kaktak255, в C++ есть только одна стандартная библиотека - это STL.
    Все остальные стандартными не являются. SFML - это сторонний открытый проект и никто не обязан включать его в свои поставки.
  • Почему ГПСЧ нужно инициализировать в main()?

    @MarkusD Куратор тега C++
    HoShik, потому что так работает ГПСЧ. Он не столько инициализируется, сколько принимает некоторое зерно [?], от которого начинает строить последовательность псевдо-случайных чисел.
    При установке зерна происходит сброс состояния генератора. Если ты в цикле постоянно устанавливаешь одно и то же зерно, ты в результате получаешь ровно одну и ту же цепочку псевдо-случайных чисел внутри каждой итерации цикла.

    Обрати внимание на то как работает функция time [?]. В системах, которые придерживаются спецификации POSIX, результат можно интерпретировать как количество секунд. Т.е. раз в секунду результат time( nullptr ) будет меняться. Именно это и видно в приведенном тобой листинге.
    Сумма массива под номером 9 равна 73
    Сумма массива под номером 10 равна 76

    9й еще был в одной секунде, а 10й - уже в следующей.
  • Правильное применение const?

    @MarkusD Куратор тега C++
    oftywave , если коротко, это очень полезная практика. Определение константности данных сильно снижает вероятность ошибки случайного изменения и позволяет транслятору выбирать более жесткие оптимизации для производного кода.

    В наше время существует такой шуточный термин, как const nazi.
    В частности, Джон Кармак еще в 2013 году писал про себя: "I am a full const nazi nowadays, and I chide any programmer that doesn’t const every variable and parameter that can be."
    Лично я руководствуюсь подходом, при котором const играет большую роль в понимании кода читателем.
  • Как сделать связь между классами?

    m1kz , ты хочешь чтобы тебе в ответе код написали?
    Или тебе нужно чтобы тебе объяснили как сделать то, что тебе задано?