• Посоветуйте книгу по многопоточному программированию

    bogolt
    @bogolt
    David R. Butenhof — Programming with POSIX Threads
    Подробное, хорошее описание принципов работы, с примерами написанное живым языком.
    Ответ написан
    Комментировать
  • Github или Sourceforge?

    bogolt
    @bogolt
    Насколько я помню sourceforge очень медленно работает и обладает довольно замороченным ( читай устаревшим ) интерфейсом.
    Гитхаб же быстр, прост и лаконичен.
    Ответ написан
    Комментировать
  • Можно ли вызвать конструктор прародителя в обход конструктора родителя?

    bogolt
    @bogolt
    Сделайте два конструктора Father, один покупающий собаку а другой не покупающий ее, и вызывайте тот что вам нужен. Ну или как вы сами предложили можно передавать атрибут говорящий о нужности этого действия
    Father(int capital, bool need_to_buy_god);


    Вообще же в си++ невозможно не вызывать конструктор при создании объекта, можно лишь выбрать какой из конструкторов будет вызван.
    Ответ написан
    Комментировать
  • Разработка игр

    bogolt
    @bogolt
    Еще можно создавать текстовые игры: всякие xmpp онлайн ролевые, или аналоги старых книг-игр.
    Для создания подобной игры никаких особых знаний не нужно ( если конечно не считать сеть, но можно ведь на первых порах сделать все локально ).

    Еще из простого — 2д игры, очень рекомендую попробовать pygame — обертку для 2д игр на питоне. Быстро, просто и удобно.
    Выберете себе реальную цель — ходить и стрелять в 2д мире, карточную игру, или нечто арканоидо-подобное и попробуйте ее реализовать. По ходу дела возникнет куча вопросов, появится немного ответов и если хватит терпения то появится простая игра созданная вами.
    Ответ написан
    Комментировать
  • Загрузка веб-страницы на Visual C++?

    bogolt
    @bogolt
    1. Скачать страницу ( google: socket, http )
    2. Показать ее ( google: QtWebView )
    Ответ написан
    Комментировать
  • Не компилируется helloworld.cpp в g++

    bogolt
    @bogolt
    #ifdef CPP_NEW_VERSION
    #define NAMESPACE using namespace std;
    #else
    #define NAMESPACE
    #endif

    А в свойствах своего проекта можно указать нужный дефайн, чтобы неймспейс подключался.
    Ответ написан
  • Защита программы от декомпиляции Java, C++, С#

    bogolt
    @bogolt
    В скомпилированной программе на си++ можно найти текстовые строки, имена фукнций и классов. Для того чтобы скрыть значение текстовых строк — программа может хранить их в зашифрованном виде, и расшифровывать перед использованием. Это сильно затруднит понимание того какое именно сообщение собиралась вывести программа, и следовательно что делает та или иная часть кода. Однако у нас еще остались имена функций. По идее их можно вырезать используя strip но гораздо смешнее изменить их так чтобы важные вам фукнции ( например isAppRegistered() ) работали не совсем так как предполагается, например эта фукнция может вызываться по таймеру раз в 10 секунд, хэшировать значения разных переменных и возвращать какой-то результат. Реальная же фукцния проверки регистрации будет называться debugPrintString() и… не будет вызывать никаких окон оповещающих о том что что-то случилось не так. Эти окна опять вызовуться из другого потока, по таймеру в случае если наша debugPrintString() изменила пару значений. )
    Ответ написан
    Комментировать