RadioProg
  • Статьи
    • Радиоэлектроника
      • Антенны и распространение радиоволн
      • Беспроводная связь
      • Высокочастотная техника
      • Волоконно-оптические линии связи (ВОЛС)
      • Измерительная техника
      • Исполнительные механизмы и драйверы
      • САПР
      • Спутниковая связь
      • Схемотехника
      • Телевидение
      • Цифровая электроника
      • Технологии и инструменты
      • Электронные компоненты
      • А что внутри?
      • Прочее (радиоэлектроника)
    • Программирование
      • Алгоритмы и структуры данных
      • Базы данных
      • Веб-разработка
      • Мультимедиа (разработка ПО)
      • Нейронные сети
      • Паттерны проектирования
      • Связь
      • Системы сборки ПО
      • Языки программирования
    • IT
      • Компьютерные сети
      • Операционные системы
      • Верстка
      • Системы контроля версий
    • Прочее
      • История технологий
      • Мультимедиа
      • Новости телекома
      • Нормативная документация
      • Охрана труда
      • Полезные программы
      • Просто интересно
      • Экономика телекоммуникаций и электронной промышленности
      • Экономика и инвестиции
  • Книги / руководства
  • Инструменты
    • Калькуляторы
  • Описания / ссылки на магазины
    • RF, Wi-Fi, Bluetooth, GSM, GPRS, GPS
    • Датчики
    • Дисплеи, индикаторы, светодиоды
    • Исполнительные механизмы и драйверы
    • Источники питания
    • Кнопки, клавиатуры, потенциометры
    • Макетирование
    • Одноплатные компьютеры
    • Отладочные платы
    • Платы расширения (shields)
    • Преобразователи, переходники, кабели
    • Прочие радиодетали
    • Приборы, инструменты, расходные материалы
    • Прочее (тех. описания, ссылки)

По тегу «LearnCpp» найдено постов:284
посты31 –60

  • Добавлено17 сентября 2021 в 22:20
    M.1 – Введение в умные указатели и семантику перемещения
    Рассмотрим функцию, в которой мы динамически размещаем значение: void someFunction() { Resource *ptr = new Resource(); // Resource - это структура или класс // здесь что-то делаем с ptr delete ptr; } Хотя приведенный выше...
  • Добавлено13 сентября 2021 в 12:55
    20.x – Резюме к главе 20 и небольшой тест
    Обработка исключений предоставляет механизм, позволяющий отделить обработку ошибок или других исключительных обстоятельств от обычного управления порядком выполнения вашего кода. Это дает больше свободы для обработки ошибок, когда и как ее лучше выполнить...
  • Добавлено13 сентября 2021 в 02:49
    20.9 – Спецификации исключений и noexcept
    В C++ все функции классифицируются как не выбрасывающие исключения (не генерируют исключения) или потенциально выбрасывающие исключения (могут генерировать исключения). Рассмотрим следующее объявление функции: int doSomething(); // может ли эта...
  • Добавлено12 сентября 2021 в 13:57
    20.8 – Опасности и недостатки исключений
    Как и в случае почти всего, что имеет преимущества, у исключений есть и потенциальные недостатки. Эту статью не стоит рассматривать как всеобъемлющую, но в ней указаны некоторые из основных вопросов, которые следует учитывать при использовании исключений...
  • Добавлено12 сентября 2021 в 11:51
    20.7 – Функциональные блоки try
    Блоки try и catch в большинстве случаев работают достаточно хорошо, но есть один конкретный случай, в котором их недостаточно. Рассмотрим следующий пример: class A { private: int m_x; public: A(int x) : m_x{x} { if (x <=...
  • Добавлено11 сентября 2021 в 12:17
    20.5 – Исключения, классы и наследование
    Исключения и функции-члены До этого момента в данном руководстве вы видели исключения, используемые только в функциях, не являющихся членами. Однако исключения также полезны в функциях-членах и тем более в перегруженных операторах. Рассмотрим следующий...
  • Добавлено7 сентября 2021 в 00:43
    20.6 – Повторное выбрасывание исключений
    Иногда вы можете столкнуться с ситуацией, когда вы хотите перехватить исключение, но не хотите (или хотите иметь возможность) полностью обрабатывать его в точке, где вы его отловили. Это обычное дело, когда вы хотите зарегистрировать ошибку и передать...
  • Добавлено6 сентября 2021 в 13:17
    20.4 – Неперехваченные исключения и универсальные обработчики
    К этому моменту вы должны иметь представление о том, как работают исключения. В этом уроке мы рассмотрим еще несколько интересных, связанных с ними случаев. Неперехваченные исключения В нескольких последних примерах было довольно много случаев,...
  • Добавлено4 сентября 2021 в 14:29
    20.3 – Исключения, функции и раскрутка стека
    В предыдущем уроке, «20.2 – Основы обработки исключений», мы объяснили, как работают throw, try и catch для реализации обработки исключений. В этом уроке мы поговорим о том, как обработка исключений взаимодействует с функциями. Выбрасывание...
  • Добавлено4 сентября 2021 в 10:45
    20.2 – Основы обработки исключений
    В предыдущем уроке о необходимости исключений мы говорили о том, как использование кодов возврата приводит к смешиванию порядка выполнения программы и порядка обработки ошибок, ограничивая и то и другое. Исключения в C++ реализуются с использованием трех...
  • Добавлено2 сентября 2021 в 00:28
    20.1 – Необходимость исключений
    В предыдущем уроке об обработке ошибок мы говорили о способах использования assert(), cerr() и exit() для обработки ошибок. Однако тогда мы затронули еще одну тему, которую сейчас и рассмотрим: исключения. Когда коды возврата не работают При написании...
  • Добавлено1 сентября 2021 в 22:41
    19.x – Резюме к главе 19 и небольшой тест
    Шаблоны позволяют нам писать функции и классы с использованием типов-заполнителей, поэтому мы можем создавать образцы идентичных версий функций и классов, использующих разные типы. Созданная функция или класс называется экземпляром функции или класса. Все...
  • Добавлено1 сентября 2021 в 13:12
    19.6 – Частичная специализация шаблона для указателей
    В предыдущем уроке «19.3 – Специализация шаблона функции» мы рассмотрели простой шаблонный класс Storage: #include <iostream> template <typename T> class Storage { private: T m_value; public: Storage(T...
  • Добавлено25 августа 2021 в 01:33
    19.5 – Частичная специализация шаблона
    Этот и следующий урок не обязательны для прочтения и предназначены для тех, кто хочет получить более глубокие знания о шаблонах в C++. Частичная специализация шаблонов используется не так часто (но в определенных случаях может быть полезна). В уроке...
  • Добавлено25 августа 2021 в 01:17
    19.4 – Специализация шаблона класса
    В предыдущем уроке «19.3 – Специализация шаблона функции» мы увидели, как можно специализировать функции, чтобы предоставлять различные функциональные возможности для определенных типов данных. Оказывается, специализировать можно не...
  • Добавлено22 августа 2021 в 23:53
    19.3 – Специализация шаблона функции
    При создании экземпляра шаблона функции для заданного типа компилятор создает копию шаблонной функции и заменяет шаблонные параметры типа фактическими типами, используемыми в объявлении переменной. Это означает, что каждая конкретная функция будет иметь...
  • Добавлено22 августа 2021 в 22:30
    19.2 – Шаблонные параметры, не являющиеся типами данных
    В предыдущих уроках вы узнали, как использовать шаблонные параметры типа для создания функций и классов, не зависящих от типа. Шаблонный параметр типа – это тип-заполнитель, который заменяет тип, переданный в качестве аргумента. Однако шаблонные...
  • Добавлено22 августа 2021 в 21:17
    19.1 – Шаблоны классов
    В предыдущей главе мы рассмотрели шаблоны функций (8.13 – Шаблоны функций), которые позволяют нам обобщить функции для работы с множеством различных типов данных. Хотя это отличное начало на пути к обобщенному программированию, они не решают всех...
  • Добавлено21 августа 2021 в 19:18
    18.x – Резюме к главе 18 и небольшой тест
    На этом наше путешествие по наследованию и виртуальным функциям C++ подходит к концу. Но есть много других областей C++, которые нужно исследовать по мере продвижения вперед. Краткое резюме C++ позволяет вам устанавливать указатели и ссылки базового...
  • Добавлено21 августа 2021 в 17:07
    18.11 – Печать объектов классов, использующих наследование, с помощью operator<<
    Рассмотрим следующую программу, которая использует виртуальную функцию: #include <iostream> class Base { public: virtual void print() const { std::cout << "Base"; } }; class Derived : public Base { public: void...
  • Добавлено21 августа 2021 в 15:06
    18.10 – Динамическое приведение типов
    Еще в уроке «8.5 – Явное преобразование (приведение) типов данных и static_cast» мы изучили концепцию преобразования типов и использование static_cast для преобразования переменных из одного типа в другой. В этом уроке мы продолжим...
  • Добавлено21 августа 2021 в 12:13
    18.9 – Нарезка объектов
    Вернемся к примеру, который мы рассмотрели ранее: class Base { protected: int m_value{}; public: Base(int value) : m_value{ value } { } virtual const char* getName() const { return "Base"; } int getValue()...
  • Добавлено20 августа 2021 в 01:25
    18.8 – Виртуальные базовые классы
    В последней главе, в уроке «17.9 – Множественное наследование», мы закончили разговор на «проблеме ромба» (или англоязычный термин – diamond problem). В этом разделе мы продолжим это обсуждение. Примечание. Этот...
  • Добавлено19 августа 2021 в 23:40
    18.7 – Чисто виртуальные функции, абстрактные базовые классы и интерфейсные классы
    Чисто виртуальные (абстрактные) функции и абстрактные базовые классы Пока что у всех виртуальных функций, которые мы написали, было тело (определение). Однако C++ позволяет создавать особый вид виртуальных функций, называемый чисто виртуальной функцией...
  • Добавлено19 августа 2021 в 00:51
    18.6 – Виртуальная таблица (таблица виртуальных функций)
    Для реализации виртуальных функций C++ использует специальную форму позднего связывания, известную как виртуальная таблица. Виртуальная таблица – это таблица поиска функций, используемая для разрешения вызовов функций в режиме динамического/позднего...
  • Добавлено18 августа 2021 в 23:01
    18.5 – Раннее и позднее связывание
    В этом и следующем уроках мы подробнее рассмотрим, как реализуются виртуальные функции. Хотя эта информация не является строго необходимой для эффективного использования виртуальных функций, но она интересна. Тем не менее, вы можете считать оба этих раздела...
  • Добавлено18 августа 2021 в 13:16
    18.4 – Виртуальные деструкторы, виртуальное присваивание и игнорирование виртуализации
    Виртуальные деструкторы Хотя C++ предоставляет для ваших классов деструктор по умолчанию, если вы не предоставляете его самостоятельно, иногда бывает так, что вам нужно предоставить свой собственный деструктор (особенно, если классу необходимо освободить...
  • Добавлено18 августа 2021 в 00:14
    18.3 – Спецификаторы override и final, и ковариантные возвращаемые типы
    Для решения некоторых распространенных задач с наследованием, есть два специальных идентификатора: override и final. Обратите внимание, что эти идентификаторы не считаются ключевыми словами – это обычные идентификаторы, которые имеют особое значение...
  • Добавлено15 августа 2021 в 16:31
    18.2 – Виртуальные функции и полиморфизм
    В предыдущем уроке, посвященном указателям и ссылкам базового класса на объекты производных классов, мы рассмотрели ряд примеров, в которых использование указателей или ссылок базового класса могло упростить код. Однако в каждом случае мы сталкивались...
  • Добавлено15 августа 2021 в 11:08
    18.1 – Указатели и ссылки базового класса на объекты производных классов
    В предыдущей главе вы узнали, как использовать наследование для получения новых классов из существующих. В этой главе мы сосредоточимся на одном из самых важных и мощных аспектов наследования – на виртуальных функциях. Но прежде чем мы обсудим,...
Назад
Начало
Вперед
Яндекс.Метрика
Радиоэлектроника
  • Антенны и распространение радиоволн
  • Беспроводная связь
  • Высокочастотная техника
  • Волоконно-оптические линии связи (ВОЛС)
  • Измерительная техника
  • Исполнительные механизмы и драйверы
  • САПР
  • Спутниковая связь
  • Схемотехника
  • Телевидение
  • Цифровая электроника
  • Технологии и инструменты
  • Электронные компоненты
  • А что внутри?
  • Прочее (радиоэлектроника)
Программирование
  • Алгоритмы и структуры данных
  • Базы данных
  • Веб-разработка
  • Мультимедиа (разработка ПО)
  • Нейронные сети
  • Паттерны проектирования
  • Связь
  • Системы сборки ПО
  • Языки программирования
IT
  • Компьютерные сети
  • Операционные системы
  • Верстка
  • Системы контроля версий
Прочее
  • История технологий
  • Мультимедиа
  • Новости телекома
  • Нормативная документация
  • Охрана труда
  • Полезные программы
  • Просто интересно
  • Экономика телекоммуникаций и электронной промышленности
  • Экономика и инвестиции
radioprog logo

Мы в соцсетях

         

Карта сайта

Последние материалы

Контакты: radioprog@gmail.com

© 2008 —2025 RadioProg.RU