Главная » Архив меток: C++

Архив меток: C++

[Перевод] Лямбды: от C++11 до C++20. Часть 1

Добрый день, друзья. Сегодня мы подготовили для вас перевод первой части статьи «Лямбды: от C++11 до C++20». Публикация данного материала приурочена к запуску курса «Разработчик C++», который стартует уже завтра. В этой статье мы пройдемся по их истории и посмотрим на эволюцию этой важной части современного C++. Лямбда-выражения являются одним из наиболее мощных дополнений в C++11 и продолжают развиваться с ...

Читать далее »

Вред макросов для C++ кода

Язык C++ открывает обширные возможности для того, чтобы обходиться без макросов. Так давайте попробуем использовать макросы как можно реже! Например, когда речь заходит о ручной генерации однотипного кода, я могу признать пользу от макросов и смириться с ними. Сразу оговорюсь, что я не являюсь фанатиком и не призываю отказываться от макросов из идеалистических соображений. Нет смысла воевать с чем-то вроде ...

Читать далее »

Топ 10 ошибок в C++ проектах за 2018 год

Вот уже три месяца, как 2018 год позади. Для многих он пролетел почти незаметно, но для нас, разработчиков PVS-Studio, он оказался весьма насыщенным. Мы трудились в поте лица, бесстрашно боролись за продвижение статического анализа в массы и искали новые ошибки в открытых проектах, написанных на языках C, C++, C# и Java. Десять самых интересных из них мы собрали для вас ...

Читать далее »

По следам калькуляторов: SpeedCrunch

Исследование кода калькуляторов продолжается! В этом обзоре будет рассмотрен проект SpeedCrunch — второй по популярности среди бесплатных калькуляторов. Введение SpeedCrunch — это высокоточный научный калькулятор с быстрым пользовательским интерфейсом, управляемым с клавиатуры. Это бесплатное программное обеспечение с открытым исходным кодом, доступное на Windows, Linux и macOS. Мне не очень понравилась документация по сборке, которую, на мой взгляд, стоило бы написать ...

Читать далее »

Задача N тел или как взорвать галактику не выходя из кухни

В нём у одних инопланетян была проблема — они не умели, с достаточной для них точностью, вычислять траекторию своей родной планеты. Не так давно я прочёл фантастический роман «Задача трёх тел» Лю Цысиня. И я решил проверить, можем ли мы решать подобные задачи. В отличии от нас, они жили в системе из трёх звёзд, и от их взаимного расположения сильно ...

Читать далее »

Беседы о функциональном программировании на C++ Siberia 2019

Всем привет! На конференции была уютная атмосфера и много хороших докладов. Недавно в Новосибирске прошла очередная C++ Siberia 2019. Пользуясь случаем, я побеседовал с двумя нашими докладчиками, которых совсем скоро вы сможете увидеть и в Москве. Иван Чукич — один из разработчиков KDE, преподаватель и исследователь дизайна языков программирования в Белградском университете. Александр Гранин (graninas) — известный спикер и разработчик, ...

Читать далее »

Проверка FreeRDP с помощью анализатора PVS-Studio

FreeRDP – свободная реализация клиента Remote Desktop Protocol (RDP), протокола, реализующего удаленное управление компьютером, разработанного компанией Microsoft. Проект поддерживает множество платформ, среди которых Windows, Linux, macOS и даже iOS с Android. Этот проект выбран первым в рамках цикла статей, посвященных проверке RDP-клиентов с помощью статического анализатора PVS-Studio. Немного истории Проект FreeRDP появился после того, как Microsoft открыла спецификации своего проприетарного ...

Читать далее »

[recovery mode] Что мне не нравится в Python

Привет, Хабр! Я подумал о том чего мне не хватает в Python, и что мне не нравится. Дисклеймер: это мое субъективное мнение, оно может не совпадать с Вашим. Я с удовольствием программирую на Python, но у любой технологии (языка программирования в частности) есть свои недостатки, хотя возможно Вы не согласитесь со мной. 1. Отсутствие const Это наверное один из самых ...

Читать далее »

Ускорение файлового ввода-вывода C/C++, не особо напрягаясь

Предисловие Есть на свете такая простая и очень полезная утилита — BDelta, и так вышло, что она очень давно укоренилась в нашем производственном процессе (правда её версию установить не удалось, но она точно была не последней доступной). Используем её по прямому назначению — построение бинарных патчей. Если взглянуть, что там в репозитории, — становится слегка грустно: по сути он давным-давно ...

Читать далее »

Unity: процедурное редактирование Mesh

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

Читать далее »