×Закрыть

C++ дайджест № 4: новинки стандарту і compile-time трюки

Розбір новинок стандарту C++, повна відеопідбірка виступів з Qt World Summit 2015, підбірка статей по хаках в compile-time, 30 років C++ та інше.

Стандарт

Tales of C++: Розбір нового експериментального типу std::experimental::variant.

Simplify C++: New C++ Features: lambdas.

Reddit: Прогрес робочих груп по впровадженню стандарту C++17.

Scott Meyers: Breaking all the Eggs in C++.

Kernel Panic: 5 корисних речей в C++11.

Simon Ninon: Роз’яснення з приводу рефлексії в C++14.

Відео

John Farrier на CppCon 2015: Demystifying Floating Points.

Повна підбірка відео з Qt World Summit 2015.

Frameworks, Tools & Services

Cling: інтерактивний інтерпретатор C++, створений на базі LLVM та Clang.

Visual C++ Team Blog: Debug C++ Code on Linux from Visual Studio.

Resharper C++ Blog: життя з багами та невизначеностями компілятора Microsoft C++.

SLED: A responsive C++ editor that understands your code (Windows).

Компанія Microsoft відкрила код свого набору інструментів для розподіленого машинного навчання — Distributed Machine Learning Toolkit.

AvanceDB — база даних в пам’яті, що підтримує велику підмножину методів CouchDB REST API.

Object-Oriented Design

с++ truths: Коваріантність та контрваріантність в стандартній бібліотеці C++.

Concurrency

Julia Evans: Профілювання багатопотокових програм за допомогою Coz.

Preshing on Programming: Ви можете робити атомарний цикл операцій Читання-Модифікація-Запис будь-яким способом.

Управління пам’яттю

Стаття про об’єкти нульового розміру, malloc, null та наслідки з цього всього.

Нові фішки C++ по управлінню пам’яттю: шаблоновані rvalue-посилання та std::forward.

Pet Monster Projects

IncludeOS — проект, що дозволяє запускати ваш C++ код на віртуальному апаратному забезпеченні.

Zetcore5 — «Серверний фреймворк для C++, що надає вражаючі можливості».

Проста модель центрального процесора в 60-ти рядках коду.

Проста функція для перетворення восьмибітного числа в рядок в бінарному вигляді.

Libcox — бібліотека крос-платформенних системних викликів та утиліт.

Реалізація SHA-3 на C та асемблері для архітектури x86.

Трошки історії

Скріншоти розробників та юніксоїдів 2002 року.

14 жовтня виповнилось 30 років C++: інтерв’ю з Б’ярном Страуструпом про C++, перший компілятор C++ — Cfront, та трошки інфографіки.

Compile-Time

Bob Nystrom про макроси вищих порядків в С++.

Трюки з генерацією псевдо-випадкових чисел на C++ під час компіляції.

Чисте використання variadic templates.

Ітерація по структурі шляхом зловживання можливостями препроцесора C.

Jean Guegant — Вступ до концепції SFINAE в C++: інтроспекція члена класу під час компіляції.

Інше

Емуляція механізму управління ходом виконання програми «defer» (рідних для Go та Swift) в C за допомогою Clang та GCC + Blocks.

Ian Barland — викладач коледжу інформатики в університеті Редфорда про те, чому C та C++ є жахливими мовами програмування.

Linux TCP Listener — запропонований патч з lockless підходом, що значно прискорює роботу.


← Попередній випуск: C++ дайджест #3
Наступний випуск: C++ дайджест #5

LinkedIn

2 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Читаю в одной из ссылок: “Symisc Systems S.U.A.R.L is a Tunisian startup that develops embedded and standalone software for the IT community.” Тем смешнее после этого читать про 50 ярдов в украинской индустрии к 2025-му.

Лет так 10 назад использовали CInt как скриптовую подсистему для игровых проектов.
...
В процессе разработки и настройки геймплея, использовали CInt интерпретатор для тех же целей как и Lua, Pyhton и пр.
А вот перед релизом, когда все уровни были настроены и протестированы, собирали все скрипты вместе с основным кодом в единый бинарник, благо при таком подходе везде был С\С++ код.
...
В процессе разработки — гибкость, в релизе — скорость.
...
Нужно бдует попробовать пересобрать свои поделки с Cling-ом.

Подписаться на комментарии