Библиотека C/C++ разработчика
7.2K subscribers
686 photos
719 videos
8 files
983 links
Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter
加入频道
Как оценить реальную производительность своего кода

Код, который мы пишем, и который будет исполнен процессором, — две разные вещи. На уровне ассемблера существует миллион вариантов, в каком виде интерпретировать и запустить высокоуровневые команды. Более того, современные компиляторы сильно оптимизируют код, а результат этой оптимизации похож на магию.

https://habr.com/ru/company/ruvds/blog/698016/

#cpp #programming

👉 @cpp_lib
👍4
Особенности реализации STL в Clang, GCC и Microsoft С++

Любая программа состоит из данных и алгоритмов их обработки. Для написания программ на C++ в начале 90-х годов прошлого века Александр Степанов с коллегами разработал библиотеку STL. Я, Михаил Полукаров из команды разработки VK Teams, заглянул под капот этой библиотеки чтобы разобраться, как правильно ей пользоваться, в каких случаях лучше использовать другие библиотеки, а в каких стоит написать что-то своё.

https://habr.com/ru/company/vk/blog/660265/

#cpp #programming

👉 @cpp_lib
👍5🔥1
С++ и Raylib как глоток свежего воздуха

Какое то время назад пришла ко мне идея исполнить хотя бы немного детскую мечту программировать игры. Надо сказать, что определенный опыт у меня был. Попала в девятом классе ко мне в руки чудесная книга Андрэ Ла мота "Секреты программирования игр", благодаря которой я изучал язык Си, поскольку все там было завязано на нем. И это были незабываемые моменты. Просто это казалось каким то чудом, что я сам, своими руками заставляю двигаться персонажей и вообще, это все даже похоже на игры для Dendy, которые я так мечтал делать в еще более ранний период детства.

https://habr.com/ru/post/691982/

#cpp #programming

👉 @cpp_lib
👍5🔥1
Как мы навели порядок в C++/Qt проекте с помощью Conan

Привет, я Тимлид/Архитектор в компании Монитор Софт. В прошлом C++ разработчик, сейчас все еще удается иногда выходить в поля)). Хочу поделиться нашим опытом использования Conan. С момента описываемых ниже событий прошло года 4, и в целом наше решение уже прошло проверку временем.

#cpp #programming

👉 @cpp_lib
👍5
Все основные фичи C++17, которые вы должны знать

https://www.cppstories.com/2017/01/cpp17features/

#cpp #programming

👉 @cpp_lib
👍2
Проверка четности или нечетности числа без использования оператора %

Хотя этот трюк не намного лучше, чем использование оператора %, но иногда он эффективен (с большими числами).

Пример:
num = 5
Двоичный: «101 & 1» будет 001, поэтому true
num = 4
Двоичный: «100 & 1» будет 000, поэтому false.

#cpp #programming

👉 @cpp_lib
👍14
Превью профессии «говорящий с нейросетями»

Все уже слышали, что openAI выпустили в свет свою новую нейросеть-асистента, так что я решил попробовать на что она способна и описать свой опыт взаимодействия с этим.. Этой... Сущностью.

Разговор будет вестись как с человеком в вежливой форме, так как оказалось, что нейросеть очень хорошо запоминает = )

Начнём с чего-то простого, попросим сгенерировать на языке CMake простую программу


https://habr.com/ru/post/703380/

#cpp #programming

👉 @cpp_lib
👍3
Media is too big
VIEW IN TELEGRAM
C++ (1 курс, осень 2022) - Мещерин И.С.

C++ 1. Указатели и Виды памяти
C++ 2. Ссылки и константы, Классы и структуры, Инкапсуляция и доступ.
C++ 3. Конструкторы и деструкторы, Правило Трех, Перегрузка операторов.
C++ 4. Статические поля и методы, Функторы, User-defined type conversions
C++ 5. Наследования
C++ 6. Полиморфизм и Виртуальные функции
C++ 7. Виртуальные таблицы и Шаблоны

Все видео доступны на youtube

#cpp #programming

👉 @cpp_lib
7👍2👎1
Media is too big
VIEW IN TELEGRAM
C++ in Constrained Environments - Bjarne Stroustrup - CppCon 2022

C++ is widely used in constrained and/or critical applications and infrastructure components. How do we manage to use a large multi-purpose language in such environments? How can we better use facilities and techniques from modern C++ (C++11, C++14, C++17, C++20, and beyond)? The best answer is not “use only facilities available in C and C++ in 1985.”

This talk focuses on a top-down approach to achieve simplicity, maintainability, performance, and various forms of safety. It touches upon the C++ Core Guidelines, compile-time computation, type-and-resource safety, type deduction, the span and chrono standard libraries, and error handling.

#cpp #programming

👉 @cpp_lib
👍3😁1
Пошаговая GDB отладка ARM процессора из консоли в Win10

Типичная ситуация. Компонент логирования и UART(Universal Asynchronous Receiver/Transmitter) не проинициализировался корректно или устройство где-то зависло в инициализации после reset. Или устройство бесконечно перезагружается после подачи питания. Как же понять на какой строчке возникла run-time ошибка? Классическое решение это пошаговая отладка через JTAG(Joint Test Action Group) или SWD(Serial Wire Debug).

Немного про железо. Работать буду с платой nRF5340-DK. Её блок-схема.

https://habr.com/ru/post/694708/

#cpp #programming

👉 @cpp_lib
👍4
Media is too big
VIEW IN TELEGRAM
Введение в концепты C++20

One of the biggest new features of C++20 are concepts. Concepts define requirements on template arguments which are enforced by the compiler. This leads to more readable code which clearly expresses intent. Error messages are improved since violations of the constraints defined by concepts can be detected in the early stages of the template instantiation.
This talked is aimed at people with little or no experience with concepts and will introduce generic programming with concepts (constraining templates, writing your own concepts and overloading functions which are constrained by concepts)

Slides https://github.com/hniemeyer/IntroToConcepts


#cpp #programming

👉 @cpp_lib
👍6
Media is too big
VIEW IN TELEGRAM
Petter Holmberg: Functional parsing in C++20

Is C++20 a language that supports a functional style of programming?
Can we write modern C++ code in a pure functional style that would easily translate into a pure functional language like Haskell, and could that C++ code end up looking just as nice while still being reasonably efficient?
In this talk we will take a practical approach and apply ideas from functional programming to a common and non-trivial problem - parsing strings - and develop a small pure functional parsing library from the ground up. On the way we will encounter many nice features from C++20 that, while optional, make this task a lot easier and results in code that can compete with functional languages for clarity and expressiveness.
This talk does not assume theoretical knowledge of functional programming concepts or practical experience with a functional language. You also don't need to know how to write parsers or have many hours of C++20 under your belt.


#cpp #programming

👉 @cpp_lib
👍1