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

Post thumbnail

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

Post thumbnail

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

Post thumbnail

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

Post thumbnail

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

Post thumbnail

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

Post thumbnail

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

Post thumbnail

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

Post thumbnail

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

Post thumbnail

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

Post thumbnail

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

Post thumbnail

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

Post thumbnail

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

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

Post thumbnail

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

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

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

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

Post thumbnail

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

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

Post thumbnail

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

Post thumbnail

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

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

Давайте разберемся, зачем нужны виртуальные методы. Рассмотрим следующий код:

Вызывая p->f(), мы обращаемся к Foo::f(). Это потому, что р — указатель на Foo, a f() — невиртуальная функция. Чтобы...
Читать дальше
Post thumbnail

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

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

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

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

Post thumbnail

Сам Бьярне Строуструп советует следующие книжки: «A Tour of C++» (русского перевода книги мы не нашли) — сравнительно короткое (около 180 страниц) учебное пособие-обзор всего стандарта языка С++ (сам язык и стандартные...
Читать дальше

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