Язык программирования C++, на котором написано 95% существующего программного обеспечения, был создан Бьерном Страуструпом, датским инженером со странноватой прической, в далеком 1985 году — очень давно!
Рубрика «c++» - 4
Языки программирования, которые могут заменить C++ — Rust, Go, Swift, Carbon
2024-08-27 в 8:39, admin, рубрики: c++, carbon, Go, Rust, swift, языки программированияСвет видел много любительских реализаций std::tuple
, и реализация своих велосипедов — наверное, действительно действенный способ обучения: вряд-ли можно сказать, что ты что-то по-настоящему понимаешь, если не можешь объяснить, как это что-то устроено.
Многие пытливые умы на протяжении десятилетий задавались вопросом: как же реализован std::tuple
, как мне реализовать свой тупль (кортеж)? [1]
И немало было дано на эти вопросы ответов и написано статей ([2]). Однако я берусь утверждать, что все они имеют один Читать полностью »
Тысяча и одна библиотека С++
2024-07-29 в 6:37, admin, рубрики: c++, GUI, библиотеки, платформы, Программирование, фреймфоркиВ жизни каждого программиста С++ рано или поздно возникает задача, которую кто-либо уже решил. Однако найти это решение бывает очень непросто в силу разных причин: оно недостаточно разрекламировано, либо имеет нечеткую документацию, или возникает проблема языкового барьера, ну, или поисковики просто плохо ищут).
Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из этого источникаЧитать полностью »
Насекомое 13 лет сидит в вашем компиляторе и не собирается оттуда вылезать
2024-07-08 в 11:29, admin, рубрики: c++, gcc, компиляторПредставим, что у вас идеальный проект. Таски пилятся, компилятор компилирует, статические анализаторы анализируют, релизы релизятся. В какой‑то момент вы принимаете волевое решение открыть древний файл, в который никто не залезал уже много лет, и видите, что он в кодировке Windows-1251. При том, что весь проект уже давно перешёл на UTF-8. «Непорядок!» — думаете вы, и лёгким движением руки меняете кодировку. На следующий день на вашем тестовом сервере случается локальный апокалипсис. Думаете, такого не может быть? Тогда предлагаю это обсудить.
Как управлять миром шестиугольных призм на GPU
2024-07-08 в 9:01, admin, рубрики: 3d, c++, glsl, gpu, GPU вычисления, minecraft
Недавно я реализовал очень необычную задумку — демонстрацию Minecraft-подобного движка с игровой логикой, выполняющейся полностью на GPU.
Как и зачем я это сделал, и как дошёл до жизни такой, я поведаю в этой статье.
Внимание, в статье есть много скриншотов!
Опасность устарела: несколько важных нюансов в новых стандартах C++
2024-06-27 в 14:17, admin, рубрики: C, c++, C++20, cybersecurity, LLVM, qt, stm32, undefined behavior, безопасность, информационная безопасность, кибератаки, кибербезопасность, компилятор, Компиляторы, Программирование, разработка, Си, системное программирование, статический анализ кода, уязвимости, языки программированияВ этой статье я со своих позиций Senior Software Architect и Security Champion в микроядерной операционной системе KasperskyOS рассмотрю кейсы-ловушки, в которые можно попасть практически в любом из стандартов, и покажу, что меняется в С++20/23/26, — уменьшается ли количество кейсов с неопределенным поведением, и становится ли С++ безопаснее.
Творим дичь с помощью инструментов веб-разработки
2024-06-24 в 21:59, admin, рубрики: c++, transpiler, Компиляторы, СиИли что бывает если заставить очень опытного разработчика заниматься не своим делом. Думаю после этой статьи термин «overqualified» заиграет для вас новыми красками.
От авторов, запихнувших веб‑сервер на визитку и локализующих корпоративные приложения на клингонский — держим марку!
Ненавижу, _____, C++ массивы
2024-06-19 в 10:15, admin, рубрики: array, c++, language, pointer, tutorial, массивИли почему мне кажется, что про них нужно знать, но не нужно использовать.
Вступление
Друзья, вы помните момент, когда впервые сунули указатель на первый элемент массива в оператор sizeof, и ваш код перестал работать так, как вы задумывали? Это, конечно, и близко не сравнится с эмоциями от засовывания пальцев в розетку, но...
Вот массив:
int arr[5] = {1, 2, 3, 4, 5};
А вот он уже указатель:
int *ptr = arr;
В статье выясним, можно ли с точки зрения стандарта языка C++ тривиальным вызовом push_back продублировать элемент std::vector. Отвечая на простой вопрос, столкнемся с более интересными: что собой представляет внутренний мир вектора, как "протухают" итераторы при реаллокации, какие ограничения добавляют гарантии безопасности относительно исключений...