Ответы пользователя по тегу C++
  • Как с помощью слотов фиксировать нажатие клавиши на клавиатуре?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    С помощью слотов никак. Используйте эвенты. А вообще это повтор

    И картинка в вопросе вообще делу отношения не имеет. Задача ведь именно получить факт нажатия клавиши.
    Ответ написан
  • Компилятор C++ под форточки?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    gcc (под виндой представлен в виде MinGW).
    Ответ написан
    Комментировать
  • Как спроектировать конструирование объектов по настройкам пользователя?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Так же как и "жестко заданый в коде элемент" - нужно закодить возможность изменять параметры т.е. вам опять-таки нужен программист (и нормальное ТЗ для него).

    По поводу стандартного решения задачи - задача выглядит какой-то узкоспециализированой, так что такого решения либо нет, либо оно не будет в полной мере соответствовать вашим потребностям. (ну по частив изуализации сойдет любой 3D редакто, но я так понимаю там ведь не только красивая картинка нужна?)
    Ответ написан
    Комментировать
  • Лишние символы в c++, откуда?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Строкой (помимо класса std::string) в C/C++ называется массив char, оканчивающийся нулевым символом. (0x00 или '\0'). Все стандартные средства для работы со строками считают такой символ концом строки. А вы его перенесли вообще в начало.
    Ответ написан
    Комментировать
  • Как Java программисту подшутить над C++ программистом?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Рекомендую старую как мир шутку

    #define true false
    (это очень жестокая шутка! В реальный код пихать не рекомендую, найдут виноватово - будет "неприятности получаемые одним субъектом от другого" © Википедия)

    Из безобидного:
    #error "Поздравляю тебя, Шарик, ты балбес!"
    Ответ написан
    Комментировать
  • Как нарисовать график функции стандартными средствами Qt?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    В Энтерпрайзной версии Qt есть специальная библиотека для графиков. В комьюнити, увы, только сторонние библиотеки или самопал (QPainter либо рисование через opengl).
    Ответ написан
    Комментировать
  • Правила перегрузки функций?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Компилятор будет ругаться на:
    too(int y);
    too (int x= 1);

    поскольку это одно и тоже.

    Даже больше:
    too();
    too (int x= 1);


    Это, вприцыпе, тоже одно и тоже.
    Ответ написан
  • Как сохранить string в бинарный файл?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Ну если чисто Qt`ешными вещами - то через QFile. Конкретно конвертируете строку в QByteArray и пишите его через QFile.

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

    QString str;
    blah-blah-blah
    char *c;
    c = str.toLocal8Bit().data();//как вариант - constData()
    Ответ написан
  • Какие плюсы и минусы существуют у Qt?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Преимущества:
    -Удобное межпроцессное взаимодействие (сигналы/слоты). Хотя говорят с появлением С++11 не актуально.
    -Обилие всего и вся - тут вам контейнеры и строки и алгоритмы и GUI. (Это все-таки полноценный фреймворк).
    -Низкий порог вхождения.
    -Переносимость на уровне исходного кода. (тут к вашим услугам Windows, Linux, Mac, QNX, Android, IOS, WinRT)
    -Активно развивается.
    -Имеет не плохую IDE, заточеную как раз под него.
    -Хорошая документация.
    -Множество примеров.

    Недостатки:
    -Большой вес приложений. (библиотеки, в зависимости от того, что вы используете, будут весить от 15 Мб и больше. Особенно плохо для мобильных платформ).
    Некоторые косяки с деплоем под виндой (и с компиляцией, к стати, тоже).
    -Под андроид надо ставить Ministro. Очень много статей говорит, что министро обязательно надо ставить (этоп рога, которая скачивает библиотеки Qt), а про то, что можно без него обойтись нигде не упоминают. (все используемые библиотеки можно включить в .APK.
    -Низкий порог вхождения.
    -Под не стандартные случаи сложно найти примеры.
    Ответ написан
    Комментировать
  • Можно ли так работать с указателями в C++?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Под линуксом вы гарантированно словите сегфолт. На винде почему-то выход за границы массива не очень беспокоит систему (наверное по тому, что задеть другие программы он не может, а работоспособность конкретной программы личная проблема разработчика), зато вы запросто можете попортить данные своей же программмы, если вдруг случайно ваш "несуществующий" массив "наложится" на какие-нибудь переменные в вашей программе.

    Вообще в вашем случае надо читать порционно по N символов в буфер размером не меньше чем N, а потом скидывать их в какой-нибудь std::array
    Ответ написан
    5 комментариев
  • C++ как вызвать метод потомка, не определоного в предке?

    RiseOfDeath
    @RiseOfDeath
    Диванный эксперт.
    Вообще, если ваша функция foo принимает объекты типа A, то она не должна вызывать функции, которых у этого объекта нет. Т.е. грубо говоря класс A задает "интерфейс" для всех потомков, который должны дергать всякие функции foo.

    Т.е. в ваш пример должен выглядеть как-то так:

    class A {
    virtual int getSome()=0;
    }

    class B : A {
    int getSome();
    }
    Ответ написан
    Комментировать