А тесты у вас все компилируются, запускаются и проходят? Если нет, то ищите ошибку в вашей конфигурации, т.к. они на VS2015 собираются запускаются и проходят, согласно CI.
Ну посмотрите как в патйоне делать POST/GET запросы. В ответ на запрос вы получаете JSON как у вас на скриншоте. Почитайте про RESTApi в общем. Я уверен, что для вк уже есть куча обёрток для работы на пайтоне и вам даже запросы самостоятельно писать не придётся.
К слову, никогда не вставляйте текст так. Просто скопируйте и вставьте как текст, желательно с правильным форматированием.
Роман Исадченко, для этого у вас есть первое поле enum из трёх элементов, например Int, Float и Complex. Проверяете чему равно значение поля, и на основании этого читаете/пишите в union (ну или там void* приводите)...
Ну так почитайте документацию code::blocks. Как добавить готовые файлы в проект и т.п. Я к тому, что в подключении imgui нет ничего нетривиального, просто научитесь пользоваться средой разработки.
А в плане производительности, в QtCreator Analyze -> Valgrind Function Profiler и замеряйте. Любой другой профилировщик тоже подойдёт. Не забудьте только в релизном билде измерять.
Я почти уверен, что у вас не будет ощутимой разницы, но это знание всё равно полезно.
Кстати, как альтернатива, можно просто скачать исходники Qt и собрать самостоятельно всё что вам нужно. Исходники существенно меньше по объёму, а процесс сборки прост.
Но, я думаю, что оффлайновый утсановочник содержит всё что нужно. Возможно отдельно придётся доставить компилятор под виндами, но там вроде должен быть включён MinGW в поставку.
Илья Житенёв, А сам devicesBox в добавлен в layout основной формы? Если добавлен, то всё должно работать.
+ ещё внутри DeviceControl должно быть всё раскидано по layout'ам.
MSVC 2010 устарела на 8 (!) лет. Там много чего необычного в плане поддержки новых стандартов может быть. Да и я бы вообще этот компилятор не рекомендовал.
У вас же типы ключей одинаковые. Почему бы просто не сложить их в одну строку, например, если потом ключи восстанавливать не надо. Ведь всё равно хэш-то берётся от всех трёх ключей (т.е. вы не можете независимо искать по ним в мапе). Или почему бы их скажем не сложить в простую структуру со что-то значащими именами полей.
Кирилл Жиляев, Если вы сопоставите время, затраченное на поддержку проекта без умных указателей и с, вы удивитесь. Время, которое будет затрачено на правки окупиться с лихвой. Никто вам не мешает использовать умные указатели только в вашем куске, и получить существенно более простой и надёжный код.
Использование полностью ручного управления памятью требует определённой квалификации. Если её нет, то обёртки вроде умных указателей -- идеальный вариант. Но, даже есть квалификация есть, то всё равно их же и используют. В современном C++ не пользуются явными new и delete, кроме некоторых редких случаев.
Arti-Jack, Что значит вообще "вызов файла"? Ваш файл не исполняемый, я же написал выше, что надо выполнить программу, которая принимает на вход этот файл. Т.е. как-то так "wxMaxima filename", тоже самое должно быть в вызове system.
Лучше конечно было бы, вы к этому пришли сами, поэтому сорри.
буст - это набор библиотек. фреймворк - это архитектурное решение в целом, которое включает этот набор.
Фундаментальное отличие фреймворка и библиотеки в другом. Фреймворк, к слову, не обязательно должен использовать какие-то библиотеки кроме стандартной библиотеки языка.
В C++ же "фреймворками" называется то, что идёт в самих "веб-языках" из коробки, в стандартной библиотеке языка, что можно наглядно увидеть по ссылкам выше от Станислав Макаров .
Нужно понимать разницу между библиотекой и фреймворком.
Стандартная библиотека языка C++ действительно не включает в себя многие возможности, например, работу с сетью. Но, мало в каком серьезном проекте не используется библиотека boost, которая эти возможности предоставляет. Некоторые части boost потихоньку переезжают в C++, например filesystem.
Vi Vola, Т.е. на этот вопрос: "зачем вам напрямую тестировать недоступные из открытого интерфейса методы класса?" вы себе ответили? Не поделитесь ответом? :)
Даниил, Хорошо, если совсем кратко, то -- человеческий фактор, и не более того. Языки программирования -- это всего лишь инструменты. На С ошибку легче допустить, чем, скажем на Java (эти языки, к слову, некорректно сравнивать, они для разного и разные), но эту вероятность можно минимизировать, я написал выше как. Зачем пользоваться более опасным инструментом, я вам выше ответил.
В Java намного сложнее получить похожую проблему, но это не означает, что нельзя (я не Java программист, потому не могу сказать как).