Как стать автором
Обновить
216.67

C++ *

Типизированный язык программирования

Сначала показывать
Период
Уровень сложности

С++ для тех кто не шарит

Время на прочтение18 мин
Количество просмотров40K

От начинающего для начинающих

О том что такое С++, программирование и как это все понять если до сессии осталась неделя.

Читать далее

Как перестать некорректно выражаться в коде

Время на прочтение4 мин
Количество просмотров11K

Мудрецы мира С++ часто напоминают нам о том как важно максимально точно выражать свои мысли в коде, делать код понятным и простым, не теряя при этом (а зачастую и выигрывая) в эффективности. Но задумайтесь как выглядит в С++ код связанный с динамическим полиморфизмом.

Взглянуть на С++ по новому

Первая реализация себя в WEB или попытка сделать систему дистанционного обучения, часть I

Время на прочтение3 мин
Количество просмотров1.6K

В нашем мире, мире развития инновационных технологий, также неустанно развиваются и различные болезни, вирусы. В связи с этим людям рано или поздно придется переходить на время на дистанционный формат обучения. А возможно и без всяких эпидемий такой метод обучения будет на первом месте. Моя статья направлена на реализацию одной из вариаций таких систем.

Читать далее

HTTP менеджер запросов в Unreal Engine

Время на прочтение3 мин
Количество просмотров6.3K

Приветствую, Хабр!

В этой статье я разберу небольшую, но очень полезную тему HTTP запросов в UE. Все будет выполнено строго на C++.

Читать далее

Халява с Юлы и Авито. Часть 2

Время на прочтение8 мин
Количество просмотров7.1K

Новая версия программы на управляемых формах.

Продолжение статьи про халяву с Юлы и Авито.

Читать далее про халяву ;-) Часть 2

Руководство Google по стилю в C++. Часть 11

Время на прочтение3 мин
Количество просмотров7K
Часть 1. Вступление

Часть 10. Форматирование
Часть 11. Исключения из правил

Изменения 2019-2024


Эта статья является переводом части руководства Google по стилю в C++ на русский язык.
Исходная статья (fork на github), обновляемый перевод.
Читать дальше →

Уроки по SDL 2: Урок 15 Многопоточность и Тиллинг

Время на прочтение3 мин
Количество просмотров3.5K

В этом уроке мы научимся запускать программу в несколько потоков, создавать полноценные уровни из мини изображения, так же научимся открывать несколько окон, скрывать и выводить вперед.

Читать далее

Тайные знания: библиотеки для С++

Время на прочтение5 мин
Количество просмотров33K

Рун не должен резать
Тот, кто в них не смыслит.
В непонятных знаках
Всякий может сбиться.
Десять знаков тайных
Я прочел и знаю...(Сага об Эгиле)

Многие начинающие программисты, уже освоив синтаксис C++, обнаруживают, что нет простого способа, как подключить библиотеку, так и собрать программу для другой ОС, или чего хуже, под другим компьютером с той же ОС. Эта проблема отчасти порождается спорной практикой обучения, когда код учат писать и запускать лишь средствами IDE, таких как Visual Studio, Code::Blocks, и других.
Поначалу такой подход работает, но лишь до первой реальной задачи сделать что-то, что запустится не только на вашей машине. Тут-то новички и сталкиваются с отсутствием стандартной системы сборки и менеджера зависимостей. После осознания этой сложности, большинство студентов, как правило, переходят на другие языки, попутно тиражируя в индустрии миф о том, что C++ де не кроссплатформенный язык, а вот мой Python/Java/C# - да.
Между тем нас окружает множество замечательных кроссплатформенных программ написанных на C++. Если вы обучаетесь C++ и хотите понять как создавать такое ПО, то эта статья для вас.

Узнать заклинания кроссплатформености

Ассоциативная самозамкнутая сеть. Что нужно для создания сильного ИИ

Время на прочтение6 мин
Количество просмотров4K

Свойственное поведение — искажение результатов работы системы, обусловленное её строением. Как уменьшить влияние данной проблемы и организовать логическую связь между неограниченным множеством разнородных объектов для дальнейшего использования их не только в качестве знаний, но и описаний действий, что много важнее.

Читать далее

Шаблоны и концепты в С++20

Время на прочтение2 мин
Количество просмотров4.8K

Привет, Хабр!

Недавно Егор Суворов, преподаватель курса по С++ в Питерской Вышке, прочитал лекцию о некоторых особенностях языка для участников Всероссийской олимпиады школьников по информатике. Егор рассказал о шаблонах в C++, а также где и зачем они возникают: обобщённое программирование структур данных и алгоритмов, функторы и лямбда-функции, как можно повысить уровень абстракций и упростить код.

Важное уточнение: эта лекция — не попытка объять необъятное, а краткий экскурс по полезным возможностям C++ для членов олимпиадного сообщества: от извлечения кода в класс до внутренних механизмов работы лямбда-функций и щепотки ограничений (constraints) из C++20. Если интересно, приглашаем к просмотру.

Смотреть

Проверка орфографии в приложениях Qt

Время на прочтение5 мин
Количество просмотров3.6K

В данной статье описано как добавить к вашему приложению на Qt проверку орфографии с подсветкой орфографически некорректных слов и возможность замены на более подходящие варианты. Для этого используется словарь hunspell.

Читать далее

Многопоточность в Qt Widgets

Время на прочтение3 мин
Количество просмотров10K
При работе приложения с оконным интерфейсом важно обеспечить отсутствие зависаний. Для этого сложные вычисления стоит запускать в отдельной нити. Концепция многопоточного приложения отлично сочетается с подходом сигналы-слоты Qt, при этом совершенно не нужно переопределять никакой метод run().

Основная идея. В многопоточном приложении вычисления проводятся в отдельной ните, по окончанию излучается сигнал, передающий результат в своих аргументах. Слот, принадлежащий уже MainWindow, будет вызван. Результаты вычислений окажутся в аргументах слота и не составит труда вывести их.
Читать дальше →

Примитивная графика для ленивых, олдфагов и ленивых олдфагов

Время на прочтение2 мин
Количество просмотров22K
Привет, Хабр. Напоролся я не так давно в сети на довольно простенькую библиотеку для работы с графикой в С/С++, которая может быть полезна школьникам и студентам в их программных изысканиях (не требуя при этом почти никаких знаний), а также некоторым олдфагам, которые помнят древнюю как мамонт графику для DOS. В частности, такой примитивный графический либ, как graphics.h для Турбо Си, на который до сих пор влажно смотрят учителя информатики в школах и преподаватели программирования в универах.
Читать дальше →

Ближайшие события

3 книги по C++ 17 (на английском)

Время на прочтение2 мин
Количество просмотров10K
Сегодня мы рассказываем вам о трех книгах, написанных нашими Microsoft MVP, по C++ 17. Они могут быть хорошими отправными точками в пути ознакомления с новой версией этого языка программирования. Все они продаются в электронном и бумажном виде на онлайн площадках (от €8.64 до $42.99 за электронные версии).

Читать дальше →

«Лаппландцы» и HTTP

Время на прочтение4 мин
Количество просмотров2.5K


Это не про настоящих лапландцев (с одной 'п'). Это про сервер приложений для микросервисов LAppS.


Если интересно то прошу под кат.

Читать дальше →

Работа с API КОМПАС-3D → Урок 6 → Построение дуги окружности

Время на прочтение4 мин
Количество просмотров6.1K
Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. В предыдущих уроках по API КОМПАС Основы и Оформление чертежа мы исходили из того, что КОМПАС не запущен, в уроке Корректное подключение к КОМПАС мы проверяли наличие уже запущенного КОМПАСа и подключались к нему. В уроке Основная надпись разбирали, как заполнить основную надпись чертежа. В прошлом уроке Графические примитивы мы начали чертить первые геометрические фигуры. В данной статье рассматриваются различные способы построения дуги окружности. В КОМПАС ее можно построить тремя различными способами. Мы рассмотрим их все.


Читать дальше →

Обзор одной российской RTOS, часть 3. Структура простейшей программы

Время на прочтение11 мин
Количество просмотров8.1K
Я продолжаю публиковать цикл статей из «Книги знаний ОСРВ МАКС». Это неформальное руководство программиста, для тех, кто предпочитает живой язык сухому языку документации.

В этой части пришла пора положить теорию на реальный код. Рассмотрим, как всё сказанное раньше записывается на языке С++ (именно он является основным для разработки программ под ОСРВ МАКС). Здесь мы поговорим только о минимально необходимых вещах, без которых невозможна ни одна программа.

Содержание (опубликованные и неопубликованные статьи):

Часть 1. Общие сведения
Часть 2. Ядро ОСРВ МАКС
Часть 3. Структура простейшей программы (настоящая статья)
Часть 4. Полезная теория
Часть 5. Первое приложение
Часть 6. Средства синхронизации потоков
Часть 7. Средства обмена данными между задачами
Часть 8. Работа с прерываниями

Код


Так как у ОСРВ МАКС объектно-ориентированная модель, то и программа должна содержать классы. При этом базовые классы уже имеются в составе ОС, прикладной программист должен лишь создать от них наследников и дописать требуемую функциональность.
Читать дальше →

Снова о числах с плавающей точкой

Время на прочтение10 мин
Количество просмотров18K
Несмотря на то, что вопросам точности компьютерных вычислений посвящено очень много публикаций, некоторые из них, на наш взгляд, всё же остаются не до конца четко раскрытыми. А именно:

1. Какое количество верных цифр n гарантированно имеет десятичное число, представленное двоичным m разрядным кодом в формате числа с плавающей точкой.
2. Как влияет нормализация чисел с плавающей точкой на точность представления числа при его преобразовании из одной системы счисления в другую и при арифметических действиях, выполняемых на компьютере.
3. Как влияет округление числа, представленного в двоичном виде на его десятичный эквивалент.
4. Как положение виртуальной точки в машинном слове влияет на значение числа, представленного в экспоненциальной форме.

Ниже мы попытаемся ответить на эти вопросы.
Читать дальше →

Машинное обучение с помощью TMVA (ROOT)

Время на прочтение4 мин
Количество просмотров4.4K

В последние пару лет только и слышно о том, что Python и scikit-learn являются неким золотым стандартом в data science.
Я же хочу рассказать Вам о возможности альтернативного развития в области machine learning, библиотеке написанной на С++.
TMVA (Toolkit for Multivariate Data Analysis with ROOT) — open-source библиотека алгоритмов машинного обучения, которая идёт в дополнение к пакету анализа больших данных ROOT, соответственно устанавливается вместе с ним. Про установку подробно написано в мануале, поэтому мы не будем рассматривать этот момент.

Читать дальше →

Управление памятью: Взгляд изнутри

Время на прочтение26 мин
Количество просмотров75K

Доброго времени суток!
Хочу представить вашему вниманию перевод статьи Джонатана Барлетта (Jonathan Bartlett), который является техническим директором в компании New Medio. Статья была опубликована 16 ноября 2004 года на сайте ibm.com и посвящена методам управления памятью. Хотя возраст статьи достаточно высок (по меркам IT), информация в ней является фундаментальной и описывает подходы к распределению памяти, их сильные и слабые стороны. Всё это сопровождается «самопальными» реализациями, для лучшего усвоения материала.

Аннотация от автора
Решения, компромиссы и реализации динамического распределения памяти
Получите представление о методах управления памятью, которые доступны Linux разработчикам. Данные методы не ограничиваются языком C, они также применяются и в других языках программирования. Эта статья даёт подробное описание как происходит управление памятью, на примерах ручного подхода (manually), полуавтоматического (semi-manually) с использованием подсчёта ссылок (referencing count) или пула (pooling) и автоматического при помощи сборщика мусора (garbage collection).

Читать далее...

Вклад авторов