#library
Библиотека C++, предоставляющая различные параллельные структуры данных и схемы восстановления.
https://cpp.libhunt.com/xenium-alternatives
Библиотека C++, предоставляющая различные параллельные структуры данных и схемы восстановления.
https://cpp.libhunt.com/xenium-alternatives
Libhunt
xenium Alternatives - C++ Concurrency | LibHunt
A C++ library providing various concurrent data structures and reclamation schemes. Tags: Concurrency, Lock-Free, C++17, Reclamation-schemes.
#guide
Руководство по C ++ 11: практическое руководство для программиста на каждый день.
https://stuartwheaton.com/blog/2020-06-14-c++11-guide/
Руководство по C ++ 11: практическое руководство для программиста на каждый день.
https://stuartwheaton.com/blog/2020-06-14-c++11-guide/
SWon Software
C++11 Guide
A Practical Guide for the Everyday Programmer
#example
Могут ли статические функции быть виртуальными в C++?
В C++ статическая функция-член класса не может быть виртуальной.
Кроме того, статические функции-члены класса не могут быть const и volatile.
В примере кода приведены две функции, обе из которых не дадут программе скомпилироваться.
Могут ли статические функции быть виртуальными в C++?
В C++ статическая функция-член класса не может быть виртуальной.
Кроме того, статические функции-члены класса не могут быть const и volatile.
В примере кода приведены две функции, обе из которых не дадут программе скомпилироваться.
#article
Преобразование ста миллионов целых чисел в строки в секунду.
https://www.zverovich.net/2020/06/13/fast-int-to-string-revisited.html
Преобразование ста миллионов целых чисел в строки в секунду.
https://www.zverovich.net/2020/06/13/fast-int-to-string-revisited.html
#framework
ffead-cpp - фреймворк для разработки корпоративных приложений.
https://cpp.libhunt.com/ffead-cpp-alternatives
ffead-cpp - фреймворк для разработки корпоративных приложений.
https://cpp.libhunt.com/ffead-cpp-alternatives
Libhunt
ffead-cpp Alternatives - C++ Frameworks | LibHunt
Framework for Enterprise Application Development in c++, HTTP1/HTTP2/HTTP3 compliant, Supports multiple server backends. Tags: Frameworks.
#example
Оператор присваивания ( = ), строго говоря, является бинарным оператором. Его объявление идентично объявлению любого другого бинарного оператора со следующими исключениями:
☑️ Он должен быть нестатической функцией-членом.
☑️ Он не наследуется производными классами.
☑️ Компилятор может создать функцию operator = по умолчанию для типов классов, если она не существует.
В примере показано, как объявить оператор присваивания.
Оператор присваивания ( = ), строго говоря, является бинарным оператором. Его объявление идентично объявлению любого другого бинарного оператора со следующими исключениями:
☑️ Он должен быть нестатической функцией-членом.
☑️ Он не наследуется производными классами.
☑️ Компилятор может создать функцию operator = по умолчанию для типов классов, если она не существует.
В примере показано, как объявить оператор присваивания.
C++ Concurrency in Action.pdf
6.5 MB
#books
C++ Concurrency in Action (2019)
Автор: Anthony Williams
Данная книга написана для программистов, желающих углубиться в тему многопоточности на C++. В ней подробно описано использование полезных особенностей языка, а также приведены типичные ошибки и готовые решения проблем разработки приложений с использованием нескольких потоков. Книга была обновлена и переработана, чтобы охватить последние изменения, внесенные C++14 и C++17.
C++ Concurrency in Action (2019)
Автор: Anthony Williams
Данная книга написана для программистов, желающих углубиться в тему многопоточности на C++. В ней подробно описано использование полезных особенностей языка, а также приведены типичные ошибки и готовые решения проблем разработки приложений с использованием нескольких потоков. Книга была обновлена и переработана, чтобы охватить последние изменения, внесенные C++14 и C++17.
#video
В видео рассказывается, как и почему нужно соблюдать принципы SOLID на C++.
https://youtu.be/PakbXnLht1I
В видео рассказывается, как и почему нужно соблюдать принципы SOLID на C++.
https://youtu.be/PakbXnLht1I
YouTube
How to write SOLID C++
We all know, or should know, about SOLID. The question is, do we write C++ according to the SOLID principles?
This is a quick tutorial on how to apply the SOLID principles using the C++ programming language. You can find it in a written form at: https:/…
This is a quick tutorial on how to apply the SOLID principles using the C++ programming language. You can find it in a written form at: https:/…
#article
Введение в спортивное программирование на C++.
https://dev.to/educative/introductory-guide-to-competitive-programming-with-c-81c
Введение в спортивное программирование на C++.
https://dev.to/educative/introductory-guide-to-competitive-programming-with-c-81c
DEV Community
Introductory Guide to Competitive Programming with C++
This article was written by Aaron Xie and was originally published at Educative. To many, competitiv...
#example
Декларатор ссылки lvalue: &
Содержит адрес объекта, но синтаксически ведет себя подобно объекту.
Ссылку lvalue можно считать другим именем для объекта. Объявление ссылки lvalue состоит из необязательного списка спецификаторов, за которым следует декларатор ссылки. Ссылка должна быть инициализирована и не может быть изменена.
Любой объект, адрес которого можно преобразовать в некоторый тип указателя, можно также преобразовать в аналогичный ссылочный тип. Например, любой объект, адрес которого можно преобразовать в тип char *, можно также преобразовать в тип char &.
В примере демонстрируется декларатор ссылки путем объявления объекта Person и ссылки на этот объект. Поскольку rFriend является ссылкой на myFriend, при обновлении любой из этих переменных изменяется один и тот же объект.
Декларатор ссылки lvalue: &
Содержит адрес объекта, но синтаксически ведет себя подобно объекту.
Ссылку lvalue можно считать другим именем для объекта. Объявление ссылки lvalue состоит из необязательного списка спецификаторов, за которым следует декларатор ссылки. Ссылка должна быть инициализирована и не может быть изменена.
Любой объект, адрес которого можно преобразовать в некоторый тип указателя, можно также преобразовать в аналогичный ссылочный тип. Например, любой объект, адрес которого можно преобразовать в тип char *, можно также преобразовать в тип char &.
В примере демонстрируется декларатор ссылки путем объявления объекта Person и ссылки на этот объект. Поскольку rFriend является ссылкой на myFriend, при обновлении любой из этих переменных изменяется один и тот же объект.
#video
Введение в Conan - мультиплатформенный менеджер пакетов для C/C++, который позволяет создавать и распространять двоичные файлы.
https://youtu.be/rsFA2VXwxbE
Введение в Conan - мультиплатформенный менеджер пакетов для C/C++, который позволяет создавать и распространять двоичные файлы.
https://youtu.be/rsFA2VXwxbE
#article
Полиморфные аллокаторы, std::vector
Концепция полиморфного аллокатора из C++17 является расширением стандартных аллокаторов из STL.
https://www.cppstories.com/2020/06/pmr-hacking.html/
Полиморфные аллокаторы, std::vector
Концепция полиморфного аллокатора из C++17 является расширением стандартных аллокаторов из STL.
https://www.cppstories.com/2020/06/pmr-hacking.html/
C++ Stories
Polymorphic Allocators, std::vector Growth and Hacking
The concept of a polymorphic allocator from C++17 is an enhancement to standard allocators from the Standard Library.
It’s much easier to use than a regular allocator and allows containers to have the same type while having a different allocator, or even…
It’s much easier to use than a regular allocator and allows containers to have the same type while having a different allocator, or even…
#example
Перегрузка операторов
Ключевое слово operator позволяет изменить работу конкретного оператора с экземплярами класса. Это дает оператору дополнительное значение — "перегружает" его. Компилятор различает разные значения оператора, проверяя типы его операндов.
В примере оператор + перегружается для сложения двух комплексных чисел.
Перегрузка операторов
Ключевое слово operator позволяет изменить работу конкретного оператора с экземплярами класса. Это дает оператору дополнительное значение — "перегружает" его. Компилятор различает разные значения оператора, проверяя типы его операндов.
В примере оператор + перегружается для сложения двух комплексных чисел.
#library
Библиотека MicroPython - целью является реализация Python 3.x на микроконтроллере.
https://cpp.libhunt.com/micropython-alternatives
Библиотека MicroPython - целью является реализация Python 3.x на микроконтроллере.
https://cpp.libhunt.com/micropython-alternatives
Libhunt
MicroPython Alternatives - C++ Virtual Machines | LibHunt
MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems. Tags: Virtual Machines.
#video #lesson #beginner
Пятичасовой курс по Unreal Engine для начинающих.
https://youtu.be/LsNW4FPHuZE
Пятичасовой курс по Unreal Engine для начинающих.
https://youtu.be/LsNW4FPHuZE
YouTube
Learn Unreal Engine (with C++) - Full Course for Beginners
Learn Unreal Engine in this full tutorial using C++. In this beginner's course, you will how to create three full games with Unreal Engine and Blueprints.
🎥 Course from Awesome Tuts. Check out their YouTube channel: https://www.youtube.com/channel/UC5c-…
🎥 Course from Awesome Tuts. Check out their YouTube channel: https://www.youtube.com/channel/UC5c-…
C Programming Absolute Beginner's Guide.pdf
12.8 MB
#books #beginner
C Programming Absolute Beginner's Guide (2014)
Автор: Greg Perry
Количество страниц: 352
Автор книги предоставляет быстрый способ освоить Си. Вы изучите основы: как организовывать программы, хранить и отображать данные, работать с переменными, операторами ввода / вывода, указателями, массивами, функциями и многим другим.
C Programming Absolute Beginner's Guide (2014)
Автор: Greg Perry
Количество страниц: 352
Автор книги предоставляет быстрый способ освоить Си. Вы изучите основы: как организовывать программы, хранить и отображать данные, работать с переменными, операторами ввода / вывода, указателями, массивами, функциями и многим другим.
#example
Макросы и функции
При первом знакомстве макросы могут показаться обычными вызовами функций. Конечно, у них немного странный синтаксис, но они «ведут себя» как обычные функции. Тогда в чём разница?
Макрос можно условно назвать функцией обработки и замены программного кода: после сборки программы макросы заменяются макроопределениями. На картинке показан код на Си.
Макросы и функции
При первом знакомстве макросы могут показаться обычными вызовами функций. Конечно, у них немного странный синтаксис, но они «ведут себя» как обычные функции. Тогда в чём разница?
Макрос можно условно назвать функцией обработки и замены программного кода: после сборки программы макросы заменяются макроопределениями. На картинке показан код на Си.
Getting_Started_with_Qt_5_Introduction_to_programming_Qt_5_for_cross.pdf
3.5 MB
#books
Getting Started with Qt 5 (2019)
Автор: Benjamin Baka
Qt - это кроссплатформенный фреймворк и набор виджетов, используемый для создания приложений с графическим интерфейсом, которые могут работать на разных аппаратных и операционных системах. Его можно использовать для создания различных приложений, таких как веб-браузеры, медиаплееры (например, VLC написан на Qt). Основная цель этой книги - познакомить читателя с Qt. Используя простые примеры, автор рассказывает об основной технологии, не слишком сосредотачиваясь на теории.
Getting Started with Qt 5 (2019)
Автор: Benjamin Baka
Qt - это кроссплатформенный фреймворк и набор виджетов, используемый для создания приложений с графическим интерфейсом, которые могут работать на разных аппаратных и операционных системах. Его можно использовать для создания различных приложений, таких как веб-браузеры, медиаплееры (например, VLC написан на Qt). Основная цель этой книги - познакомить читателя с Qt. Используя простые примеры, автор рассказывает об основной технологии, не слишком сосредотачиваясь на теории.