Материалы для изучения C++, новости, программы

Картинка поста

Современный браузерный интерфейс GDB (отладчик GNU) для языков C, C++, Go и Rust. Можно добавлять контрольные точки, просматривать трассировку стека и многое другое. Для этого нужно просто запустить gdbgui из терминала, и в браузере откроется новая...
Читать дальше

Картинка поста

Совсем недавно международная группа по C++ отправила в ISO новый стандарт. Яндекс приглашает специалистов по языку обсудить эту новость с непосредственными участниками событий. ...
Читать дальше

Картинка поста

Даже если большинство программистов понимают, в чем разница между объектами и указателями на них, иногда бывает не совсем понятно, в пользу какого из способов обращения к объекту стоит делать выбор....
Читать дальше

Картинка поста

Если вы интересуетесь жизнью Open Source сообщества и хотите к нему присоединиться, то эта серия подборок (которую мы продолжаем пополнять) придётся вам как нельзя кстати, ведь в ней собраны лучшие проекты...
Читать дальше

Картинка поста

Стэнфордский университет представил гайд по основным стандартам оформления кода на С++. Умение корректно оформить ваш код является ценным навыком, так как это в разы облегчает работу других. Также у нас есть подобная...
Читать дальше

Картинка поста

Многие программисты при написании кода совершают ошибки, и каким бы по размеру ни был проект, от незнания особенностей той или иной функции и невнимательности не застрахован никто. Для таких случаев...
Читать дальше

Картинка поста

Посмотрим, как хорошо вы знаете способности GCC оптимизировать код. Эта викторина содержит 6 вопросов, в каждой по две вставки кода. Первая вставка иллюстрирует код до некой оптимизации, вторая — после нее....
Читать дальше

Картинка поста

В августе этого года в Казани прошла Международная олимпиада по программированию для школьников — IOI 2016. Российская команда стала второй в общем зачете. Один из серебряных медалистов, Денис Солонков из г. Мытищи, сделал разбор задачи «Обнаружение...
Читать дальше

Картинка поста

Рассказывает Arne Mertz  Порой в качестве входных данных разрешен фиксированный набор строк. В дальнейшем они хранятся и как-то используются. Перечислимый тип будет лучшим вариантом. ...
Читать дальше

Картинка поста

В прошлой части мы рассмотрели основные аспекты использования перегрузки операторов. В этом материалы вашему вниманию будут представлены перегружаемые операторы C++. Для каждого раздела характерна семантика, т.е. ожидаемое поведение. Кроме того, будут показаны типичные...
Читать дальше

Картинка поста

Во многих языках программирования используются операторы: как минимум, присваивания (=, := или похожие) и арифметические операторы (+, -, * и /). В большинстве языков со статической типизацией эти операторы привязаны к типам. Например, в Java сложение...
Читать дальше

Картинка поста

Даже самые опытные программисты не всегда могут вспомнить название какого-нибудь свойства в CSS или правильное написание команды bash. Поэтому всегда удобно иметь у себя в закладках страницу, попав на которую,...
Читать дальше


Программист Unity3D и C++, Москва Работа в офисе Нужен опыт Регулярная зарплата (100–150k) Игровая Механика — небольшая группа разработчиков игр на PC и мобильные платформы, существующая более 1,5 лет. В декабре 2015 года...
Читать дальше

Картинка поста

В данном списке содержится 1584 ссылки: книги, статьи, туториалы, онлайн-курсы, интерактивные обучалки, подкасты — всё только бесплатное. Английский язык считается стандартным, для русскоязычного контента используется отдельная метка. База постоянно пополняется,...
Читать дальше

Умный (интеллектуальный) указатель — это тот же обычный указатель, обеспечивающий безопасность благодаря автоматическому управлению памятью. Такой указатель помогает избежать множества проблем: «висячие» указатели, «утечки» памяти и отказы в выделении памяти....
Читать дальше

Есть однонаправленный список из структур. В нём random указывает на какой-то еще элемент этого же списка. Требуется написать функцию, которая копирует этот список с сохранением структуры (т.е. если в старом...
Читать дальше

Вопрос по С++. Что за ошибка «pure virtual function call»? В какой ситуации она может быть сгенерирована? Предоставьте минимальный код, приводящий к ней. Те, кто столкнулись с этой ошибкой в...
Читать дальше

Картинка поста

Рассказывает Фабиен Санглард, автор блога fabiensanglard.net Недавно в интернете я наткнулся на трассировщик лучей на визитке Пола Гекберта. Для тех, кто не в курсе: это очень известная задача, изначально предложенная...
Читать дальше

Пользователь Aras Pranckevičius поделился на github файлом preprocessor_fun.h, который рекомендуется включать в репозиторий проекта перед увольнением с работы. Некоторые строчки несут в себе слишком много боли, слабонервным рекомендуем не смотреть....
Читать дальше

Картинка поста

Рассказывает автор блога ridiculousfish.com В этой статье даны ответы на 6 вопросов из викторины по оптимизациям компилятора GCC. В каждом по две вставки кода. Первая вставка иллюстрирует код до некой оптимизации, вторая...
Читать дальше


Картинка поста

Рассказывает Тимофей Седов, разработчик интеллектуальной ассистентки Никки В этой записи хотелось бы поделиться своими впечатлениями от IDE Visual Studio. С тех пор, как мы начали разрабатывать универсальную версию нашей интеллектуальной...
Читать дальше

Сопоставьте хэш-таблицу и mар из стандартной библиотеки шаблонов (STL). Как организована хэш-таблица? Какая структура данных будет оптимальной для небольших объемов данных? В хэш-таблицу значение попадает при вызове хэш-функции с ключом....
Читать дальше

Картинка поста

Допустим, вы пишете конвейер, в котором 2 потока, используя общий буфер, обрабатывают данные. Поток-producer эти данные создает, а поток-consumer их обрабатывает (Producer–consumer problem). Следующий код представляет собой самую простую модель:...
Читать дальше

Виртуальная функция определяется vtable (виртуальной таблицей). Если какая-либо функция класса объявлена как виртуальная, создастся vtable, которая хранит адреса виртуальных функций этого класса. Для всех таких классов компилятор добавляет скрытую переменную...
Читать дальше

Самый распространенный вариант реализации функции max — проверка знака выражения a – b. В этом случае мы не можем использовать оператор сравнения, но можем использовать умножение....
Читать дальше

Позволять программистам использовать неинициализированные переменные — большая ошибка со стороны разработчиков языка. Такую оплошность легко совершить и тяжело отследить. Особенно при выполнении программы на разных платформах. И необходимости в этой...
Читать дальше

Механизм шаблонов встроен в компилятор C++, чтобы дать возможность программистам делать свой код короче за счет обобщенного программирования. Естественно, существуют и стандартные библиотеки, реализующие этот механизм. STL является самой эффективной...
Читать дальше

Материалы для изучения C++ и заметки об интересных особенностях и развитии этого языка.