Задать вопрос
  • Почему пишет неопределенный тип?

    maaGames
    @maaGames
    Савва Насыров, а это тоже в срр?
    const CmdEventArgs CmdEventArgs::Empty = CmdEventArgs(CmdEventArgs::Nothing);
  • Почему пишет неопределенный тип?

    maaGames
    @maaGames
    Савва Насыров, деструктор теперь правильный!
    static переменные надо в срр файл добавить. В хэдере только их объявления в классе. Инициализацию (вне класса) надо в срр файл перенести.
  • Почему пишет неопределенный тип?

    maaGames
    @maaGames
    Савва Насыров, Код классов не пишется в заголовке. Это ты так написал. В хэдере нужно писать определение класса, а реализацию в срр файле. То есть в хэдере только объявление функций должно быть.
  • Переназначить клавиши ВТОРОЙ клавиатуры?

    maaGames
    @maaGames Автор вопроса
    pluspwnz, И тебе спасибо за приятные слова :)
    Но у этого решения есть минусы. Некотоыре античиты считают любые макросы читерскими программами и может из игры выкинуть. Перед запуском стимовских игрушек может потребоваться или выключать макросы или вообще закрывать программу. Это если будут проблемы с античитом.
  • Как версионировать на начале разработки?

    maaGames
    @maaGames
    Хочешь - поднимай, не хочешь - не поднимай. Вот коммиты лучше для каждой фичи делать отдельно, а не пачкой.
    По идее, каждый релиз дистрибутива лучше делать с разной версией, чтобы пользователи могли понять, что нужно обновиться.
  • Как правильно инициализировать константы в namespace в *.h *.cpp?

    maaGames
    @maaGames
    Очень подозреваю, что инициализация строк пытается выполниться до инициализации рантайм библиотек, поэтому строки не отрабатывают. Если сделаешь их членами класса Info (не статическими) и инициализируешь в get_instance, аналогично объекту Core, то 100% проблем не будет, потому что не будет уже никаких зависимостей ни от чего. Заодно уберёшь глобальные переменные - сплошные плюсы!
  • Как правильно инициализировать константы в namespace в *.h *.cpp?

    maaGames
    @maaGames
    Могу ошибаться, но порядок инициализации глобальных статических переменных не определён. То есть строки могут создасться до VER_MAJOR.
    в остальном вроде extern правильно используется и должно бы работать.
  • Что за странная запись в С++?

    maaGames
    @maaGames
    Подозреваю, что это извращённо-корявый вызов статической функции. Или неподчищенные останки, да.
  • Как скачать библиотеку на Dev c++?

    maaGames
    @maaGames
    VPN нужен общесистемный, не для браузера. Сперва надо скачать инсталлятор, а потом инсталлятор будет выкачивать выбранные компоненты и он тоже IP проверяет. Для обновления тоже нужен будет VPN. Для программирования Qt и запуска приложений VPN не нужен, там уже нигде не проверяется. Только при скачивании, установке и обновлении через Maintanance Tool.
    Раньше можно было скачать оффлайн инсталлятор, может на торентах кто-нибудь добрый выложил, если и сейчас есть такое. Там уже VPN не нужен будет.
  • Как скачать библиотеку на Dev c++?

    maaGames
    @maaGames
    Купи (скачай) любой учебник по С++ для студентов. Там в конце каждог ораздела есть вопросы и задачи для самопроверки. Если не можешь их решить, то знаний очень недостаточно.
    sfml скачать с оффициальног осайта. Гуглить по слову sfml.
    Qt из России и Беларуси сейчас скачать невозможно, нужен VPN. Если ты не в России, то без проблем с официального сайта скачаешь. Гуглить по слову Qt.
    Судя по "ИЛИ" между Qt и SFML, вы не определились, зачем оно вам нужно и что собрались делать...
  • Как перехватить перемещение окна до отправки QEvent?

    maaGames
    @maaGames Автор вопроса
    Павел Дорофеев, Ну вопрос не в исходникак и не в отладчике. Через QAbstractEventDispatcher::installNativeEventFilter можно сделать, но это корявое платформо-зависимое решение. Интересует родное Qt решение, без привязки к платформе или каких-то полу-хакерских трюков.
  • Как перехватить перемещение окна до отправки QEvent?

    maaGames
    @maaGames Автор вопроса
    Павел Дорофеев, это Qt, в нём ОС не посылает, там даже очереди сообщений Windows нету, потому что там Windows нету...
  • Как использовать класс объявленный в другом файле?

    maaGames
    @maaGames
    Acaunt, Хуже :)
    Исходный вариант хороший, но только если держать в уме, что лучше так не делать, если не уверен.
    Любые статические объекты создаются в неизветсном программисту порядке, установленном компилятором. А вот при испоьзовании Синглтона, объект создаётся при первом вызове instance. Плюс можно контроллировать время жизни и "оживлять" объект даже после вызова деструктора, если понадобится.
  • Как использовать класс объявленный в другом файле?

    maaGames
    @maaGames
    Acaunt, Лучще не делать глобальных переменных без использования синглтона. Неизвестно, в каком порядке они будут созданы и удалены (зависит от порядка сборки).
    И реализация внутри класса не всегда хорошо - это равнозначно объявлению inline.
    std::cout реализованы ещё более "неприятным" способом с созданием кучи статических переменных, но там код очень хитрый.
  • Является ли безопасным отнять от указателя 1 и итерироваться по массиву [1,N], а не [0, N-1]?

    maaGames
    @maaGames
    floppa322, cache line разного размера всё же бывает. Если Entry больше размера cache line, то можно особо и не париться. Например, если это 64 байта, то из чего вообще Entry состоит, чтобы не только указатель на дочерний(дочерние) элементы хранить, но ещё и полезные даные были?

    Возможно, я думаю не про то, но под выравниванием данных часто подразумевают выравнивание на 16 байт, чтобы всякие sse/avx инструкции смогли работать. Ну или на 4 байта для int, например.
  • Является ли безопасным отнять от указателя 1 и итерироваться по массиву [1,N], а не [0, N-1]?

    maaGames
    @maaGames
    floppa322,
    Где в вопросе упоминание хотя бы архитектуры процессора, на котором будет работать? А какие данные в массиве? Entry размером намного меньше cache_line_size, что у тебя куча детей в неё умещается?
  • Как обойти все исполнения программы?

    maaGames
    @maaGames
    floppapa, Думаю, таких статических анализаторов не существует. std::atomic это очень частный случай использования всего одной единственной элементарной переменной. Даже две переменых через atomic уже не синхронизировать друг с другом. Анализатор, наверное, может тебе показать участок кода, к которому может быть обращение из разных потоков, но где ты, возможно, забыл сделать синхронизацию.
    Если разрабатываешь программу с учётом race condition, то тебе не нужно ничего знать про модель памяти и прочие низкоуровневые дела, оставайся на уровне абстракции мьютексов и критических секций.
  • Как обойти все исполнения программы?

    maaGames
    @maaGames
    floppapa, Или не понимаю или не вижу смысла в вопросе. Если боишься, что будет race-condition - используешь объекты синхронизации.
    Алгоритмов обхода нет, есть code coverage tool, которые проверяют, что каждая строчка кода была хоть раз выполнена. Для этого нужны горы тестов с разными входными данными. Если какие-то строки не выполнялись, то нужно написать дополнительные тесты, чтобы они покрыли этот участок кода... Но к race condition это отношения не имеет. Ведь один и тот же участок кода с одними и теми же данными может, в многопточной среде, выдавать разные результаты при неаккуратном обращении.
    Не утверждаю, но лично я не верю, что можно написать комплексную многопоточную программу вообще без race condition, а значит, от объектов синхронизации не избавиться.
  • Почему arw формат, сохраненный в psd, начинает весить в 5-7 раз больше?

    maaGames
    @maaGames
    Evgenii, Я про это и пишу. В CameraRaw параметры задал, нажимаешь "открыть" и в фотошопе открывается уже другой файл. А исходный Raw остаётся без изменений, плюс появляется файл с теми настройками, которые в CameraRaw задавались. Если не открывать в фотошопе, то останется только Raw и файл с коррекциями.
    Но вот после открытия в фото для редактирования и прочего, обратно в CameraRaw его же нельзя открыть. Только закрыть и по новой импортровать.
  • Почему arw формат, сохраненный в psd, начинает весить в 5-7 раз больше?

    maaGames
    @maaGames
    romaro, Не уверен. Никогда не проверял, можно ли raw фильтры использовать после того, как импортировал файл в фотошоп. Вроде после применения фильтров и нажатия "открыть" картинка в фотошопе создаётся независимая от raw файла и никак с ним не связана больше.
    Если скрытый слой удалишь, файл в два раза меньше стать должен.