Частичная специализация шаблона

Надоело перегружать функцию для каждого типа? Хватит это терпеть!

Сегодня мы рассмотрим как создать одну шаблонную функцию, которая будет ‘включенной’ для заданных типов и ‘выключенной’ для остальных.

Читать далее

Создаем свой блокчейн с UTXO и Генезисом. Теория

Привет всем любителям интересного, или другим заблудшим душам

Здесь вы бы могли узнать о том:

  • Как захватить мир коробкой из под миксера
  • Как найти счастье без СМС и регистрации
  • В чем смысл жизни инфузории туфельки

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

Класс работы с дробями

Привет, читатель! Пошаманим на с++?

Сегодня поговорим о небольшой олимпиадной задачке с информатики. Суть довольно проста: написать класс, который может работать с дробями, т.е. нужно реализовать все 4 базовые действия над ними. Читать далее

Указатели в C++

Указатель — это переменная, которая указывает на некоторый участок памяти. Обычно указатель содержит адрес другой переменной, объявленной в коде ранее. Посмотрим на примере:

void main() {
    // Объявляем переменную типа int
    // И инициализируем её
    int var = 10;
}

При выполнении программы в ОЗУ будет выделен участок памяти такого размера, чтобы там свободно помещалось значение нашей переменной var. Размер выделенного участка памяти зависит от типа переменной (посмотреть ‘размер’ каждого типа можно тут); Поэтому инициализировать указатель будем адресом, где хранится значение другой переменной. Итак:

void main() {
    int  var = 10;
    // & - операция взятия адреса   
    // Результатом операции взятия адреса является адрес ячейки памяти, 
    // которая была выделена компилятором под соответствующую переменную.
    // Например, если для переменной выделена область памяти,
    // начиная с адреса 5022FE38, тогда &var будет иметь значение 5022FE38
    int* ptr = &var;
}

Читать далее