Инженерный калькулятор на C++. Часть 1: Токенизатор математических выражений
Всем привет! Сегодня хочу поделиться опытом написания консольного инженерного калькулятора, который может посчитать выражение вроде
Почему именно калькулятор (ну камон, их же и так тьма тьмущая)? Все потому, что в школе дали задание написать графический калькулятор на Qt; мне это показалось скучным, и я решил поэкспериментировать.
https://habr.com/ru/articles/769812/
#cpp #programming
👉 @cpp_lib
Всем привет! Сегодня хочу поделиться опытом написания консольного инженерного калькулятора, который может посчитать выражение вроде
(log2(18)/3.14)*sqrt(0.1*10^(-3)/0.02)
Почему именно калькулятор (ну камон, их же и так тьма тьмущая)? Все потому, что в школе дали задание написать графический калькулятор на Qt; мне это показалось скучным, и я решил поэкспериментировать.
https://habr.com/ru/articles/769812/
#cpp #programming
👉 @cpp_lib
👍6
Как и почему я писал для Флиппера на Си-с-классами
Мой Флиппер дошёл до меня больше полугода назад, но что-то под него написать я собрался только сейчас. Его API рассчитаны на язык С — а у меня с ним опыта не очень много. Но проблем с тулингом не возникло — у Флиппера есть своя система сборки, которая скачала мне нужный тулчейн и сгенерировала настройки для IDE.
А для написания кода я решил использовать всё же не C, а C++ — точнее, даже «Си-с-классами». На мой взгляд, затуманенный языками более высокого уровня, такой подход получился удобнее, чем писать на чистом C. Результат можно увидеть в моём репозитории, а в этой статье я попытаюсь описать, какие конкретные фичи языка я использовал, и как именно они мне помогли.
https://habr.com/ru/companies/ruvds/articles/768658/
#cpp #programming
👉 @cpp_lib
Мой Флиппер дошёл до меня больше полугода назад, но что-то под него написать я собрался только сейчас. Его API рассчитаны на язык С — а у меня с ним опыта не очень много. Но проблем с тулингом не возникло — у Флиппера есть своя система сборки, которая скачала мне нужный тулчейн и сгенерировала настройки для IDE.
А для написания кода я решил использовать всё же не C, а C++ — точнее, даже «Си-с-классами». На мой взгляд, затуманенный языками более высокого уровня, такой подход получился удобнее, чем писать на чистом C. Результат можно увидеть в моём репозитории, а в этой статье я попытаюсь описать, какие конкретные фичи языка я использовал, и как именно они мне помогли.
https://habr.com/ru/companies/ruvds/articles/768658/
#cpp #programming
👉 @cpp_lib
👍2🤮1
Интервью с разработчиками мультитула для хакеров и пентестеров Flipper Zero
Flipper Zero — карманный "мультитул" для гиков, сокровище для пентестеров, ваш собственный кибер-зверёк. Возможности девайса ограничиваются только вашим воображением и сноровкой.
В этой статье мы пообщаемся с разработчиками устройства Flipper Zero. Поклонникам девайса предлагается нырнуть вглубь истории создания и технических возможностей. Тем, кто впервые слышит про Флиппер — познакомиться с проектом. Флиппер переживал и запреты, и негатив, и обожание. Проект собрал вокруг себя сотни тысяч энтузиастов-хакеров, людей, охваченных любопытством познания мира вокруг. Приятного чтения!
Мы пообщались с тремя разработчиками — Александром, Иваном и Сергеем. Заряженная энергией и позитивом команда собралась перед нами, чтобы поделиться сокровенным, одним из главных дел их жизни — проектом Flipper Zero.
https://habr.com/ru/companies/pvs-studio/articles/769634/
#cpp #programming
👉 @cpp_lib
Flipper Zero — карманный "мультитул" для гиков, сокровище для пентестеров, ваш собственный кибер-зверёк. Возможности девайса ограничиваются только вашим воображением и сноровкой.
В этой статье мы пообщаемся с разработчиками устройства Flipper Zero. Поклонникам девайса предлагается нырнуть вглубь истории создания и технических возможностей. Тем, кто впервые слышит про Флиппер — познакомиться с проектом. Флиппер переживал и запреты, и негатив, и обожание. Проект собрал вокруг себя сотни тысяч энтузиастов-хакеров, людей, охваченных любопытством познания мира вокруг. Приятного чтения!
Мы пообщались с тремя разработчиками — Александром, Иваном и Сергеем. Заряженная энергией и позитивом команда собралась перед нами, чтобы поделиться сокровенным, одним из главных дел их жизни — проектом Flipper Zero.
https://habr.com/ru/companies/pvs-studio/articles/769634/
#cpp #programming
👉 @cpp_lib
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
С++
01 Введение
02 Placement new
03 Наивная реализация конструкторов и функции Reserve
04 Обработка исключений
05 Уносим сырую память в класс обёртку
06 Функции std::uninitialized *
07 Оператор присваивания и move конструктор
08 Resize, PushBack и PopBack
09 Гарантии безопасности исключений
10 Variadic templates
#cpp #programming
👉 @cpp_lib
01 Введение
02 Placement new
03 Наивная реализация конструкторов и функции Reserve
04 Обработка исключений
05 Уносим сырую память в класс обёртку
06 Функции std::uninitialized *
07 Оператор присваивания и move конструктор
08 Resize, PushBack и PopBack
09 Гарантии безопасности исключений
10 Variadic templates
#cpp #programming
👉 @cpp_lib
👍3❤1
Media is too big
VIEW IN TELEGRAM
Возможности С++ для программирования микроконтроллеров
Игнат Ворошилов
Обычно, программирование микроконтроллеров подразумевает использования языков программирования ASM, C, и лишь изредка C++. Но даже те проекты, которые написаны с использованием C++, написаны в стиле C, без использования преимуществ C++ в полной мере. Эти утверждения справедливы для подавляющего большинства проектов с открытым исходным кодом, библиотек от разработчиков микросхем, различных SDK и иже с ними. На мой взгляд, игнорирование возможностей C++ и возможностей ООП, при разработке ПО для микроконтроллеров, неоправдано. Предлагаю рассмотреть конкретные примеры использования возможностей языка C++, которые помогут сэкономить время разработчика и повысить качество проекта.
источник
#cpp #programming
👉 @cpp_lib
Игнат Ворошилов
Обычно, программирование микроконтроллеров подразумевает использования языков программирования ASM, C, и лишь изредка C++. Но даже те проекты, которые написаны с использованием C++, написаны в стиле C, без использования преимуществ C++ в полной мере. Эти утверждения справедливы для подавляющего большинства проектов с открытым исходным кодом, библиотек от разработчиков микросхем, различных SDK и иже с ними. На мой взгляд, игнорирование возможностей C++ и возможностей ООП, при разработке ПО для микроконтроллеров, неоправдано. Предлагаю рассмотреть конкретные примеры использования возможностей языка C++, которые помогут сэкономить время разработчика и повысить качество проекта.
источник
#cpp #programming
👉 @cpp_lib
👍4
Лекции С++ продвинутый поток ФПМИ 2023-24
Лекция 1. Введение в язык C++. Основные типы и операции над ними
Лекция 2. Основные команды в терминале. Компиляция программ
Лекция 3. Объявления и определения, области видимости, пространства имен
Лекция 4. Выражения и операторы. Управляющие конструкции
Лекция 5. Compile-time errors, runtime errors, undefined behavior
Лекция 6. Указатели
Лекция 7. Стековая, статическая и динамическая память
Лекция 8. Массивы, функции и указатели на функции
источник
#cpp #programming
👉 @cpp_lib
Лекция 1. Введение в язык C++. Основные типы и операции над ними
Лекция 2. Основные команды в терминале. Компиляция программ
Лекция 3. Объявления и определения, области видимости, пространства имен
Лекция 4. Выражения и операторы. Управляющие конструкции
Лекция 5. Compile-time errors, runtime errors, undefined behavior
Лекция 6. Указатели
Лекция 7. Стековая, статическая и динамическая память
Лекция 8. Массивы, функции и указатели на функции
источник
#cpp #programming
👉 @cpp_lib
👍8