Как оценить реальную производительность своего кода
Код, который мы пишем, и который будет исполнен процессором, — две разные вещи. На уровне ассемблера существует миллион вариантов, в каком виде интерпретировать и запустить высокоуровневые команды. Более того, современные компиляторы сильно оптимизируют код, а результат этой оптимизации похож на магию.
https://habr.com/ru/company/ruvds/blog/698016/
#cpp #programming
👉 @cpp_lib
Код, который мы пишем, и который будет исполнен процессором, — две разные вещи. На уровне ассемблера существует миллион вариантов, в каком виде интерпретировать и запустить высокоуровневые команды. Более того, современные компиляторы сильно оптимизируют код, а результат этой оптимизации похож на магию.
https://habr.com/ru/company/ruvds/blog/698016/
#cpp #programming
👉 @cpp_lib
👍4
Что выведет код?
Anonymous Poll
8%
hello world10
18%
hello world
4%
hello worlds
46%
compiler error
24%
не знаю
Особенности реализации STL в Clang, GCC и Microsoft С++
Любая программа состоит из данных и алгоритмов их обработки. Для написания программ на C++ в начале 90-х годов прошлого века Александр Степанов с коллегами разработал библиотеку STL. Я, Михаил Полукаров из команды разработки VK Teams, заглянул под капот этой библиотеки чтобы разобраться, как правильно ей пользоваться, в каких случаях лучше использовать другие библиотеки, а в каких стоит написать что-то своё.
https://habr.com/ru/company/vk/blog/660265/
#cpp #programming
👉 @cpp_lib
Любая программа состоит из данных и алгоритмов их обработки. Для написания программ на 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
Какое то время назад пришла ко мне идея исполнить хотя бы немного детскую мечту программировать игры. Надо сказать, что определенный опыт у меня был. Попала в девятом классе ко мне в руки чудесная книга Андрэ Ла мота "Секреты программирования игр", благодаря которой я изучал язык Си, поскольку все там было завязано на нем. И это были незабываемые моменты. Просто это казалось каким то чудом, что я сам, своими руками заставляю двигаться персонажей и вообще, это все даже похоже на игры для Dendy, которые я так мечтал делать в еще более ранний период детства.
https://habr.com/ru/post/691982/
#cpp #programming
👉 @cpp_lib
Хабр
С++ и Raylib как глоток свежего воздуха
Предыстория Какое то время назад пришла ко мне идея исполнить хотя бы немного детскую мечту программировать игры. Надо сказать, что определенный опыт у меня был. Попала в девятом классе ко мне в руки...
👍5🔥1
Как мы навели порядок в C++/Qt проекте с помощью Conan
Привет, я Тимлид/Архитектор в компании Монитор Софт. В прошлом C++ разработчик, сейчас все еще удается иногда выходить в поля)). Хочу поделиться нашим опытом использования Conan. С момента описываемых ниже событий прошло года 4, и в целом наше решение уже прошло проверку временем.
#cpp #programming
👉 @cpp_lib
Привет, я Тимлид/Архитектор в компании Монитор Софт. В прошлом C++ разработчик, сейчас все еще удается иногда выходить в поля)). Хочу поделиться нашим опытом использования Conan. С момента описываемых ниже событий прошло года 4, и в целом наше решение уже прошло проверку временем.
#cpp #programming
👉 @cpp_lib
👍5
C++ Full Course ⚡️ (2022)
This video serves as an introduction to the C++ programming language
C++ is a beast of a language. We're only scratching the surface.
https://www.youtube.com/watch?v=-TkoO8Z07hI
#cpp #programming
👉 @cpp_lib
This video serves as an introduction to the C++ programming language
C++ is a beast of a language. We're only scratching the surface.
https://www.youtube.com/watch?v=-TkoO8Z07hI
#cpp #programming
👉 @cpp_lib
YouTube
C++ Full Course for free ⚡️
This video is a beginner's introduction to C++ that assumes you have no coding experience.
C++ is a vast and complex language. This 6-hour video covers just enough to get you started working with C++ on your own. After completion, I would recommend researching:…
C++ is a vast and complex language. This 6-hour video covers just enough to get you started working with C++ on your own. After completion, I would recommend researching:…
👍1
The gotcha of the C++ temporaries that don’t destruct as eagerly as you thought
https://devblogs.microsoft.com/oldnewthing/20221005-00/?p=107248
#cpp #programming
👉 @cpp_lib
https://devblogs.microsoft.com/oldnewthing/20221005-00/?p=107248
#cpp #programming
👉 @cpp_lib
Microsoft News
The gotcha of the C++ temporaries that don’t destruct as eagerly as you thought
You have to look for the end of the full expression.
👍2
Все основные фичи C++17, которые вы должны знать
https://www.cppstories.com/2017/01/cpp17features/
#cpp #programming
👉 @cpp_lib
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
Хотя этот трюк не намного лучше, чем использование оператора %, но иногда он эффективен (с большими числами).
Пример:
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
Все уже слышали, что openAI выпустили в свет свою новую нейросеть-асистента, так что я решил попробовать на что она способна и описать свой опыт взаимодействия с этим.. Этой... Сущностью.
Разговор будет вестись как с человеком в вежливой форме, так как оказалось, что нейросеть очень хорошо запоминает = )
Начнём с чего-то простого, попросим сгенерировать на языке CMake простую программу
https://habr.com/ru/post/703380/
#cpp #programming
👉 @cpp_lib
👍3
C++ Programming: Implicit and Explicit Constructors
https://dev.to/aboss123/c-programming-implicit-and-explicit-constructors-27be
#cpp #programming
👉 @cpp_lib
https://dev.to/aboss123/c-programming-implicit-and-explicit-constructors-27be
#cpp #programming
👉 @cpp_lib
👍4
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
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
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
Типичная ситуация. Компонент логирования и 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
Algorithms in C: The Binary Chop
https://dev.to/infalliblyfallible/algorithms-in-c-the-binary-chop-35ol
#cpp #programming
👉 @cpp_lib
https://dev.to/infalliblyfallible/algorithms-in-c-the-binary-chop-35ol
#cpp #programming
👉 @cpp_lib
👍2
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
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
The evolution of statements with initializers in C++
https://www.sandordargo.com/blog/2022/10/26/statements-with-initializers-part-1-conditionals
#cpp #programming
👉 @cpp_lib
https://www.sandordargo.com/blog/2022/10/26/statements-with-initializers-part-1-conditionals
#cpp #programming
👉 @cpp_lib
Sandor Dargo’s Blog
The evolution of statements with initializers in C++
In the coming two articles, we’ll see how C++ evolved in terms of writing different statements that include initializers. Simple? Boring? I don’t think so, it just shows how far we got in C++ and in programming in general in terms of readability and maintainability…
👍3
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
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