Публикации по теме 'cplusplus'


Ежедневный бит(е) C++ | Минимальная стоимость равного массива
Ежедневный бит (е) C ++ # 77, Общие проблемы на собеседованиях: минимальная стоимость для достижения равного массива Сегодня мы рассмотрим распространенную задачу интервью C++: минимальная стоимость достижения равного массива. Имея два массива (числа и стоимости) положительных целых чисел, определите минимальную стоимость корректировки массива чисел таким образом, чтобы все элементы имели одинаковое значение. Стоимость корректировки каждого элемента на единицу равна соответствующему..

Викторина Nec C++ — 0012
Согласно стандарту C++17 В программе есть ошибка времени компиляции. Программа имеет неопределенное/определяемое реализацией поведение. Программа имеет неопределенное поведение. Программа гарантированно выводит:

Ежедневный бит(е) C++ | Сумма расстояний до всех узлов
Ежедневный бит (е) C ++ # 142, Общая задача на собеседовании: сумма расстояний до всех узлов. Сегодня мы рассмотрим распространенную задачу интервью C++: сумму расстояний до всех узлов. Учитывая дерево с n узлами, представленное в виде графа с использованием карты окрестностей, вычислите сумму расстояний до всех других узлов для каждого узла. Идентификаторы узлов находятся в диапазоне [0,n). Например, в приведенном выше дереве сумма расстояний для узлов 0 и 1 равна 4, а для..

Поток ASM класса C++ с виртуальными методами — Часть 2 Вызовы виртуальных функций
Мы собираемся использовать тот же код, что и в предыдущем разделе , и теперь продолжим код с того места, где оставили его в прошлый раз. // VirtualFunctionCalls.cpp : This file contains the 'main' function. Program execution begins and ends there. // #include <iostream> using namespace std; class Parent { protected: int valueSet; public: Parent() { valueSet = 0; } ~Parent() {} virtual void CallMe(); virtual int SetMe(int val); }; void Parent::CallMe() {..

Ежедневный бит(е) C++ | Любопытно повторяющийся шаблон шаблона
Daily bit(e) of C++ #218, Техника C++ для передачи информации о типе производного класса в базовый класс: Curiously Recurring Template Pattern. Curiously Recurring Template Pattern (CRTP) — это метод C++, позволяющий нам передавать информацию о типе производного класса в базовый класс. Типичным вариантом использования CRTP является поддержка Mixin, когда мы инкапсулируем функциональность в базовый класс, не полагаясь на виртуальную диспетчеризацию. Таким образом, производный класс..

Ежедневные кусочки C++ | станд::очередь
Ежедневный бит C++ № 251. Адаптер контейнера очереди FIFO: std::queue. std::queue  — это адаптер контейнера, реализующий интерфейс очереди FIFO. Варианты резервных контейнеров: std::deque и std::list . #include <queue> std::queue<int> q; // q.size() == 0, q.empty() == true // push a new element into the queue q.push(1); // q.front() == 1, q.back() == 1 // pop an element from the front of the queue q.pop(); q.push(2); q.push(3); q.push(4); while(not q.empty()) {..

Указатели на языке C
1. Введение C — очень мощный язык программирования, который используется многими разработчиками программного обеспечения для разработки различного программного обеспечения. Однако для новичка язык C довольно сложен для понимания. Большая часть трудностей в изучении C возникает из-за путаницы с концепцией указателей. В этой статье я объясню концепцию указателей с помощью некоторых фрагментов кода. 2. Указатели, адреса и переменные Указатель — это переменная, которая содержит..