• Как проще всего создать стилизованное приложение?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Qt. Посмотрите на клиент Телеграм. Вроде неплохо, неправда ли?

    В Qt имеется возможность управлять внешним видом при помощи CSS-подобного языка.
    Ответ написан
    3 комментария
  • Какой язык программирования выбрать для создания десктопных приложений?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    По-моему тут уже много таких вопросов. Поиск по сайту пробовали?
    Если пишете что-то кроссплатформенное (win, mac, linux имеется ввиду) и именно десткоп, то тут выбор очевиден - Qt (C++). Для линукса тоже, хотя тут есть альтернативы конечно, но на мой взгляд достаточно убогие. Под винду C#. Под мак swift, objective-c. Т.ч. по языкам: C++/C#/swift.
    Что вам выбрать... Я не знаю. Зайдите на hh.ru посмотрите вакансии в вашем городе, почитайте требования и пр. Посмотрите стажировки в крупных компаниях -- это очень хорошо для новичков.
    Ответ написан
    Комментировать
  • Си. Как сделать функцию, умножающую число?

    @abcd0x00
    Тебе, конечно, предложили с указателем, но надо сделать без указателя.
    int func(int x)
    {
        return x / 10;
    }
    
    ...
    
        a = func(a);
    Ответ написан
    1 комментарий
  • Стоит ли идти из радиотехники в IT?

    @Oligophren
    Сертифицированный разработчик Terrasoft BPM'online
    С точки зрения возможностей и заработка, работы в IT в сто раз больше,да и зарплаты повыше, достаточно беглого просмотра вакансий на headhunter'е чтобы примерно оценить ситуацию на рынке труда. Я сам учился на электронику, сфера супер интересная и мало кто в ней реально разбирается, но востребованность на рынке довольно маленькая, отсюда маленькие зарплаты и трудности с трудоустройством, особенно если Вы живете не в Москве или Питере. Я бы на Вашем месте даже не задумывался бы.
    Ответ написан
    Комментировать
  • Какие вы знаете книги и ресурсы для изучения принципов проектирования микросхем для микроконтроллеров?

    @iv_k
    Книжка

    Прочитайте "Искусство схемотехники". Книжка не сложная. Потом хватайтесь за МК
    Ответ написан
    Комментировать
  • Что лучше - Perl или Python и для чего?

    @burzzo
    1. Js,Perl -- dynamic & weak typesystem

    2. Ruby, Python -- dynamic & strong typesystem. Это означает, что типы выводятся во время рантайма (dynamic), но неявные преобразования между типами запрещены (strong)

    3. C++ -- static and strong typesystem
    ================================================
    Не очень хорошая затея сравнивать perl и python, т.к. они находятся в "разной" весовой категории.

    Личное мнение:
    Я писал скрипты на скриптовых языках matlab, python, bash, perl, js проекты от 1K до 10K строк - самый чудовищный это perl. Хуже может быть пожалуй только windows batch.
    Ответ написан
    1 комментарий
  • Qt. Как передавать данные между формами?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    На самом деле вам не нужно ничего и никуда передавать, как мне кажется. Т.к. вторая форма используется только для создания новых элементов. Но обо всём по порядку. В приведённом фрагменте кода я вижу несколько архитектурных проблем (если не интересно, можете игнорироваться все, кроме пункта 3):
    1) Вторая форма создаётся каждый раз, когда пользователь кликает на кнопку add_item. Это утечка памяти, т.к. все формы будут удалены только после удаления главного окна, но не ранее. Почему бы не создать форму один раз и просто её не показывать на действие? Создали в классе поле QScopedPointer m_addItemDlg (ну или std::unique_ptr), один раз выделили память в конструкторе и радуетесь жизни.
    2) Это не очень хорошо, что Institution хранится в контейнере QList по значению т.к., скорее всего вы не реализовали семантику перемещения и всё это копируется... Хотя бы по этой причине (и по многим другим) стоит подумать о том, чтобы хранить все элементы как shared_ptr.
    3) Наконец-то мы добрались и до вашего вопроса! В Qt есть отличный механизм слотов и сигналов. В вашем случае идея проста: у главной формы надо реализовать слот onInstitutionAdded а у второй формы дописать сигнал institutionAdded и соединить их в конструкторе главной формы. Когда новый объект создан выслать сигнал из второй формы и в слоте главного окна реализовать добавление в коллецию.
    Если же нужно будет редактировать какой-то итем в коллекции, то его конечно лучше передать просто по ссылке перед тем как показать форму. Ну и в этом случае посмотреть уже в сторону Qt model-view.
    4) Название класса второй формы слишком общее и ни о чем не говорит.
    Ответ написан
    2 комментария
  • Когда ооп быстрее процедурного?

    @Mercury13
    Программист на «си с крестами» и не только
    ООП рассчитано не на скорость исполнения, а на скорость разработки. Как, впрочем, и многие другие современные технологии разработки. Всё, что ООП делает, можно реализовать и без ООП, и даже эффективнее. Стоит ли — другой вопрос.

    Какую задачу конкретно решает ООП? Обуздать сложность разработки программ, собранных из взаимодействующих компонентов. Вот от этого и пляшем: если программа не модульная (например, какой-нибудь сложный научный расчёт), ООП мало поможет. Также ООП не поможет, если стандартная реализация ООП недостаточно эффективна по процессору или по памяти — например, в мою бытность JavaMe’шником ООП не жаловали, поскольку памяти много ел, типичный мобильник имел от 215 до 800 килобайт доступной памяти. Также плохо будет работать там, где нет взаимодействия (на типичном PHP, который выдал страничку и исчез).

    Что на PHP можно реализовать объектно?
    • Поддержку каких-то протоколов (БД, почта, какая-нибудь внешняя веб-служба наподобие VK API или Mandrill).
    • Что-нибудь из предметной отрасли, что меняет своё состояние — например, генерация картинок, звуков, архивов, PDF…
    • Может, сделаешь какой-нибудь генератор страниц, который сначала собирает каркас страницы, а затем, в зависимости от настроек и целевого устройства, обращивает его HTML-кодом.
    Ответ написан
    Комментировать
  • Шаблонные функции. Какие преимущества?

    но меня смущает вызов 2 дополнительных функций в шаблоне
    1. Функции заинлайнятся, за производительность тут переживать не стоит.
    2. У вас немного разные алгоритмы. В шаблоне никто не запрещает вам пройтись циклом по итераторам и посчитать среднее тем же способом, что и в первом варианте.
    3. Использование stl-функций предпочтительнее своего велосипеда. Читать код легче. Я увидел accumulate и сразу подумал о свёртке. А в первый пример пришлось вчитываться. К тому же он ещё и не оптимальный - ведь деление можно вынести из цикла.
    4. Данный вариант с шаблоном намного гибче - его можно использовать с любым контейнером, который реализует итератор.
    Ответ написан
    2 комментария
  • RaspberryPi + HDMA->VGA + 1440x900?

    @rez0n Автор вопроса
    Дело было в переходнике. Вот он.b9ac8cb6c1e948088368970d3a5bf2d4.jpg

    А вот с таким - никаких проблем.
    Hot-Sale-for-PC-Laptop-Tablet-font-b-HDM
    Ответ написан
    Комментировать
  • Как подружить Qt с Visual Studio Community 2015?

    @Neonoviiwolf
    Flutter developer
    в гугле забанили? полно инфы же
    Ответ написан
    4 комментария
  • Применение техник запоминания (мнемотехник) для освоения языков/фреймворков/библиотек/документации?

    Olej
    @Olej
    инженер, программист, преподаватель
    Странный вопрос...
    Запоминать слишком много, детально, по крайней мере в части языков программирования, библиотек - не только не полезно, но откровенно вредно. Особенно, когда языков этих используемых становится несколько, а в голове сплошная каша...
    Нужно понимание, а не запоминание.
    А для всего остального, особенно в нынешнее время, есть а). справочные системы и б). архивы своих собственных предыдущих наработок, где нужно только знать откуда "списать".
    Ответ написан
    5 комментариев
  • Когда неявно вызывается деструктор?

    Olej
    @Olej
    инженер, программист, преподаватель
    Прошу перечислить возможные варианты

    Вариант единственный: деструктор в C++ вызывается ровно в тот момент, когда уничтожается объект.
    Всё. Точка.
    Никаких других "вариантов" нет и быть не может, потому что в C++ не может быть сборки мусора.

    А вот когда объект уничтожается - тут могут быть некоторые варианты: явное и неявное уничтожение, уничтожение по выходу из блока, уничтожение по эпилогу программы... Здесь разница уже в том. что называют "время жизни" объекта.
    Ответ написан
    4 комментария
  • Что делать после изучения С++?

    @s0L
    9648456309884dd781e5f1c35c06bd74.jpg
    Нельзя просто так взять и закончить изучение С++
    Ответ написан
    1 комментарий
  • Что делать после изучения С++?

    @kstyle
    Qt 5, параллельно добивая С++
    Ответ написан
    Комментировать
  • Какую библиотеку лучше использовать для разработки GUI?

    @EvgeniyKonstantinov
    Честное слово, про OpenFrameworks сейчас впервые услышал. А Qt проверенное годами решение. И с лицензией Qt в вашем случае проблем нет - используйте LGPL.
    Ответ написан
    6 комментариев
  • Какие самые востребованные навыки для разработчика на C/C++?

    AtomKrieg
    @AtomKrieg
    Давай я поищу в Google за тебя
    Самый востребованный навык - самостоятельно гуглить ответы на возникающие вопросы
    Ответ написан
    4 комментария
  • С чего начинать изучение Си?

    gordon_shamway
    @gordon_shamway
    Начинать с Python c книги Лутц или Доусон к тому же питон поддерживает
    несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты — динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Python организовывается в функции и классы, которые могут объединяться в модули (они в свою очередь могут быть объединены в пакеты Википедия

    насколько я слышал, он распространен больше всех.
    а это к PHP
    Ответ написан
    1 комментарий
  • Какой учебник по MFC вы можете посоветовать?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Гробовщик И. Ф. Лопата А. Ю. Как закапывать мертвые технологии, чтобы тимлид не узнал.

    Если серьезно, посмотрите книги за авторством Кейт Грегори. Все очень подробно изложено.
    Ответ написан
    Комментировать
  • Поясните правила 57 и 58 в MISRA C. Почему break, continue - плохо?

    @Eddy_Em
    Бред из разряда "goto - это плохо". Уж для мелкоконтроллеров goto - очень даже нормально. А в обработке КА и всяких условий просто необходимы break, continue, goto...
    Ответ написан
    3 комментария