• Как быстро конструировать большой QByteArray из частей других QByteArray?

    vt4a2h
    @vt4a2h Куратор тега C++
    А, тут всё равно, Qt или не Qt, std::vector<char> будет вести себя точно также.
    Можно поискать какую-то библиотеку для приёма потокового видео, например ffmpeg. Там скорее всего ваша проблема уже решена.
  • Корректен ли этот код?

    vt4a2h
    @vt4a2h Куратор тега C++
    Удалите первый пример, плз, он неправильный.
    Прочитайте ответ fshp выше, и поймёте почему. Если не верите, то возьмите и откомпилируйте чем-нибудь нормальным, например gcc. Вы даже предупреждение компилятора получите 100%.
  • Что нужно изучить, чтобы знать «Основы программирования»?

    vt4a2h
    @vt4a2h
    evgeniy_lm,
    Кнут не учит арифметике, он учит писать программы

    Я и не писал, что он учит арифметике. Но и с утверждением о том, что он учит разработке ПО я не согласен. Если очень кратко сформулировать то, что я написал выше: современная разработка ПО это далеко не только знание алгоритмов и фундаментальных основ информатики. Что не значит что эти знание не нужны, но и не говорит об их обязательном наличии.

    Чудо, кто по твоему все "развивает" и "усложняет"? 99.999% так называемых современных "программистов" тупо используют сейчас то что когда-то было создано умными людьми.

    Тут нет различий с обществом любого времени. Довольно-таки глобальное наблюдение, что научно-технический прогресс делает ~1% общества, а остальная его часть просто потребляет. Это не слишком-то и зависит от сферы. Однако же, нельзя не заметить, что прогресс невозможен без базы и накопленных знаний. А вот вклад в базу знаний, без которого прогресс был бы в принципе невозможен, делает уже не только тот самый 1%. Учёный N не делает открытие/изобретение K на пустом месте, ему обычно предшествуют множество мелких открытий, выводов и наблюдений. Но вот, допустим, нобелевскую премию получает только учёный N :)

    По моему опыту грамотный специалист (не обязательно ученый) делает то что нужно (нужно масштабируемое - делает масштабируемое, не нужно - не делает), а тупой подросток тупо кидает понты

    Я полагаю, что состояние "тупой подросток" никак не связанно с тем, читал ли человек Кнута или не читал, есть ли у него фундаментальные знания в информатике или нет. Человек может быть хорошим специалистом (выполнять свои обязанности с должным качеством) в области разработки ПО без вышеописанных знаний, а может быть и плохим специалистом имея их. Слишком много факторов и невозможно ничего сказать без конкретики.
  • Что нужно изучить, чтобы знать «Основы программирования»?

    vt4a2h
    @vt4a2h
    evgeniy_lm, попахивает максимализмом, знаете ли.
    Что касается понимания первого тома, то тот кто не понимает что там написано писать программы неспособен.

    Бездоказательно, что бы вы не понимали под программой.

    Возможно я вас удивлю, но компьютер это не более чем "калькулятор на стероидах" и как любой калькулятор может только складывать, вычитать, делить и умножать. Т.е. компьютер это математика в чистом виде.

    Основы арифметики вы хотели сказать? Ну так Кнут тут не нужен, хватит и начальной школы :)

    Правильно говорят, что среднестатистический программист в 40-60-е это ученный-математик; 70-90-е - инженер; 2000-е - бухгалтер, экономист. В наше время программист это тупой прыщавый подросток.

    Со временем сфера развивается и усложняется, появляются новые уровни, а следовательно и чётче формируются обязанности и появляются специализации. Те самые учёные-математики никуда не делись, просто их нужно существенно меньше сравнивая с прикладной сферой. Возможно 1 учёный на 10к рядовых программистов. Учёные в IT и разработчики работают совершенно над разными вещами и я бы не стал сравнивать их интеллект, основываясь на этом. По моему опыту, там где учёный спроектируют немасштабируемую и в целом печальную архитектуру, напишет неподдерживаемый код и т.п., программист справится намного лучше. И наоборот, программист часто может долго биться над простейшей для учёного вычислительной задачкой. Это означает лишь то, что разные специалисты должны работать вместе и отвечать за разные вещи чтобы получился качественный продукт.
  • Что нужно изучить, чтобы знать «Основы программирования»?

    vt4a2h
    @vt4a2h
    В корне с вами не согласен. Мало того, что для прочтения и понимания хотя бы первой части (да, многие и не подозревают, что это несколько книг) необходима неплохая математическая подготовка, так вы ещё и этими знаниями вряд ли в скором времени сможете воспользоваться, если вообще сможете. Книга в большей степени для CS-теоретиков. Т.е. реально стоит её прочитать примерно 1% программистов. Для понимания алгоритмов есть более практичные книги: Седжвик для совсем практиков и Кормен для немного математиков.
    Тот кто осилит эту книгу в большинстве случаев просто потратит время зря и даже близко не изучит основы разработки программного обеспечения.
  • CLion: запуск программы невозможен, отсутствует dll; Как решить?

    vt4a2h
    @vt4a2h Куратор тега C++
    Не за что.
    Главное разобраться и понять, почему, как и зачем это работает.
  • Как делать GLSL шейдеры???

    vt4a2h
    @vt4a2h Куратор тега C++
    Вопросы (которые по пунктам) более-менее нормально сформулированы и их уже можно гуглить.
    Английский учить надо, хотя бы на уровне чтения документации. Это вообще критично.
  • Как сделать, чтобы qDebug выводил в консоль на Ubuntu?

    vt4a2h
    @vt4a2h
    А в официальной сборке работает или нет?
  • Какой компилятор установить для Clion?

    vt4a2h
    @vt4a2h Куратор тега C++
    Нет, серьезно, вы читать не умеете? Я не буду этого делать за вас.
  • Какой компилятор установить для Clion?

    vt4a2h
    @vt4a2h Куратор тега C++
    Ну, насколько я вижу, с Cygwin можно всё вместе поставить, там же написано.
    Я бы, правда, предпочёл использовать MSVC под винды. Для более-менее серьезных коммерческих проектов его или Intel С++ используют, насколько мне известно. Но для учебных целей что угодно подойдёт, я думаю.
  • Какой компилятор установить для Clion?

    vt4a2h
    @vt4a2h Куратор тега C++
    Вот, у них же есть туториал: https://www.jetbrains.com/help/clion/quick-tutoria... . Там и про отладчик написано.
  • Какой компилятор установить для Clion?

    vt4a2h
    @vt4a2h Куратор тега C++
    Понятно. Скорее всего из-за вопросов лицензирования.
  • Как исправить ошибку неопределённая ссылка на символ?

    vt4a2h
    @vt4a2h Куратор тега C++
    Хм, да, прочитал название символа, но всё-равно cxxabi -- это не библиотека.
    Попробуйте в линкер что-то вроде "-stdlib=libc++ -lc++abi" добавить. Ну и CMakeLists.txt весь выложите.
  • Как создать проект qt gui с cmake?

    vt4a2h
    @vt4a2h
    Должно работать если вы просто добавите его к файлам исходного кода.
  • QT ошибка при сборе под андроид "No such file or directory "?

    vt4a2h
    @vt4a2h Куратор тега C++
    А с C++ вы тоже работаете впервые? Если да, то рекомендую изучить сначала язык программирования и его инфраструктуру.
    Компилятор говорит вам, что не может найти какой-то заголовочный файл по определённому пути. Qt (да, именно это правильное название, к слову) тут не причём. Надо проверить, есть ли этот файл по тому пути, где компилятор его ищет. Если есть, нормально прописать пути поиска, если нет, то разобраться почему так и возможно изменить пути поиска или добавить сам файл.
  • Как проверить существует ли указатель или был удален?

    vt4a2h
    @vt4a2h Куратор тега C++
    Смотря какой умный указатель вам надо реализовать.
    1) unique_ptr принимает указатель на данные и хранит его в виде переменной. Не копируется. В деструкторе или методе reset удаляет этот указатель.
    2) shared_ptr принимает указатель на данные и хранит его в виде переменной. Дополнительно надо ввести переменную для счётчика ссылок. Счётчик ссылок увеличивается на 1 при копировании и создании, уменьшается на 1 в деструкторе. Когда счётчик 0 объект удаляется.

    Я когда-то давно писал простые реализации чисто для примера. Они достаточно примитивны на мой нынешний взгляд, но всё-таки: https://github.com/vt4a2h/smart-pointers
  • Как исправить ошибку конвертации?

    vt4a2h
    @vt4a2h Куратор тега C++
    Dima Sush, Это ужасное решение. Это необоснованный хак; необоснованный, т.к. есть нормальное решение. С наследованием ничего не норм, оно закрытое по-умолчанию. Плюс это не портируемый код, т.е. если VS что-то компилирует, то это не значит, что код правилен с точки зрения стандарта и может быть откомпилирован другими компиляторами. VS это вообще отдельная история. Ко всему, вы ещё и виртуальный деструктор в базовом классе пропустили.
    Вот, возьмите clang или gcc и попробуйте скомпилировать ваш код и потом моё решение. Вот тут можете экспериментировать: https://ideone.com/NXfdbf (тут оже поправленый код).
  • Как заставить работать ftpserver из примеров Qt 5?

    vt4a2h
    @vt4a2h
    Я не знаю, но вы можете это выяснить подробно ознакомившись с описанием и кодом примера.
  • Как быстро работать с .cpp и .hpp?

    vt4a2h
    @vt4a2h Куратор тега C++
    Если для вас IDE -- это не более чем рекдатор, и вам не интересны такие возможности как анализ кода на лету, расширенные рефакторинги, интеграция с системами контроля версий, полная поддержка языка с автодополнениями даже в сложных случаях, встроенная документация, запуск тестов, отладка и т.п., то ОК, возможно вам проще использовать редактор. Хотя, учитвая вопросы, которые у вас возникают, простые редакторы уже не соответствуют вашим потребностям.

    VS Code -- жуткая поделка в Electron контейнере (вы же знаете, что это?). Я не уверен, что оно потянет серьезный проект с кучей зависимостей и сможет быстро осуществлять хотя бы навигацию по именам/методам класса, рефакторинги и отладку. А ресурсов гарантировано выжрет кучу, т.к. Chrome сам по себе прожорлив. Я бы ещё понял, рекламируй вы какой-нибудь нативный редактор, тот же Vim, то использовать что-то в электрон контейнере и говорить о прожорливости...
  • Как быстро работать с .cpp и .hpp?

    vt4a2h
    @vt4a2h Куратор тега C++
    Вы и правда не понимаете разницы между IDE и редактором? Окей, второе - часть первого. Подробнее, на вики.

    Это ответ на оба коммента выше.