• Какие есть на C++ фрейморки для веб как Laravel на PHP?

    vt4a2h
    @vt4a2h Куратор тега C++
    буст - это набор библиотек. фреймворк - это архитектурное решение в целом, которое включает этот набор.

    Фундаментальное отличие фреймворка и библиотеки в другом. Фреймворк, к слову, не обязательно должен использовать какие-то библиотеки кроме стандартной библиотеки языка.
  • Какие есть на C++ фрейморки для веб как Laravel на PHP?

    vt4a2h
    @vt4a2h Куратор тега C++
    В C++ же "фреймворками" называется то, что идёт в самих "веб-языках" из коробки, в стандартной библиотеке языка, что можно наглядно увидеть по ссылкам выше от Станислав Макаров .

    Нужно понимать разницу между библиотекой и фреймворком.
    Стандартная библиотека языка C++ действительно не включает в себя многие возможности, например, работу с сетью. Но, мало в каком серьезном проекте не используется библиотека boost, которая эти возможности предоставляет. Некоторые части boost потихоньку переезжают в C++, например filesystem.
  • TDD, каким образом протестировать приватные методы?

    vt4a2h
    @vt4a2h Куратор тега C++
    Vi Vola, Т.е. на этот вопрос: "зачем вам напрямую тестировать недоступные из открытого интерфейса методы класса?" вы себе ответили? Не поделитесь ответом? :)
  • Почему в с++ не могут избавиться от переполнения буфера?

    vt4a2h
    @vt4a2h Куратор тега C++
    Даниил, Хорошо, если совсем кратко, то -- человеческий фактор, и не более того. Языки программирования -- это всего лишь инструменты. На С ошибку легче допустить, чем, скажем на Java (эти языки, к слову, некорректно сравнивать, они для разного и разные), но эту вероятность можно минимизировать, я написал выше как. Зачем пользоваться более опасным инструментом, я вам выше ответил.

    В Java намного сложнее получить похожую проблему, но это не означает, что нельзя (я не Java программист, потому не могу сказать как).
  • Как быстро конструировать большой 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