Фильтр публикаций


🤔 Какое из следующих утверждений о std::chrono::system_clock неверно?
Опрос
  •   std::chrono::system_clock монотонен и не подвержен корректировкам
  •   std::chrono::system_clock может быть использован для получения времени по UTC
  •   std::chrono::system_clock предоставляет текущее системное время
  •   std::chrono::system_clock используется для работы с реальным временем
6 голосов


🤔 На какой структуре данных построена priority_queue?

priority_queue в стандартной библиотеке построена на бинарной куче (binary heap).
1. Это деревооподобная структура данных, поддерживающая быструю вставку и извлечение максимального или минимального элемента.
2. Вставка и удаление имеют сложность O(log n), а доступ к верхнему элементу — O(1).

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний


🤔 Какое из следующих утверждений о std::pow неверно?
Опрос
  •   std::pow вычисляет значение первого аргумента, возведенное в степень второго аргумента
  •   std::pow работает с отрицательными и положительными значениями обоих аргументов
  •   std::pow возвращает результат в виде значения с плавающей запятой
  •   std::pow поддерживает только целочисленные значения для степени
8 голосов


🤔 Какое из следующих утверждений о std::future неверно?
Опрос
  •   std::future позволяет нескольким потокам одновременно получать результат из одной задачи
  •   std::future может быть использован для получения результата из асинхронной задачи
  •   std::future требует использования метода get() для получения результата
  •   std::future поддерживает получение исключений, произошедших в асинхронной задаче
9 голосов


🤔 Может ли быть проблема со вставкой ста элементов через push_back?

Проблема может возникнуть, если память vector переполнена, что требует перераспределения и копирования всех существующих элементов в новый массив, увеличивая временные затраты. Для большого количества вставок рекомендуется заранее вызвать reserve, чтобы выделить необходимую память и избежать перераспределений.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний


🤔 Какое из следующих утверждений о std::unique_ptr неверно?
Опрос
  •   std::unique_ptr автоматически освобождает память при выходе из области видимости
  •   std::unique_ptr может быть копирован для создания нового unique_ptr
  •   std::unique_ptr управляет единственным владельцем динамически выделенного объекта
  •   std::unique_ptr поддерживает перемещение и не поддерживает копирование
6 голосов


🤔 В set сложность вставки, удаления, поиска - логарифмическая?

Да, в стандартной реализации `std::set` в C++ вставка, удаление и поиск выполняются за O(log n), так как `set` реализован как сбалансированное бинарное дерево (обычно красно-чёрное дерево). Логарифмическая сложность обеспечивается благодаря тому, что элементы хранятся в отсортированном порядке, и операция деления дерева пополам происходит при каждом шаге. Это делает операции эффективными даже для больших наборов данных.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний


🤔 Какое из следующих утверждений о виртуальных функциях неверно?
Опрос
  •   Виртуальные функции позволяют динамически определять, какую версию функции вызывать
  •   Виртуальные функции могут иметь реализацию по умолчанию
  •   Виртуальные функции поддерживают полиморфизм в C++
  •   Виртуальные функции могут быть определены только в базовых классах
11 голосов


🤔 Сложность удаление из начала у vector?

Удаление элемента из начала vector имеет временную сложность O(n), так как после удаления первого элемента все последующие элементы необходимо сдвигать на одну позицию влево. Это приводит к линейному времени выполнения операции. Vector не подходит для частых операций удаления в начале структуры. Для этих целей лучше использовать контейнеры, такие как list.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний


🤔 Какое из следующих утверждений о std::shared_ptr и циклических ссылках неверно?
Опрос
  •   std::shared_ptr автоматически управляет временем жизни объекта
  •   std::shared_ptr поддерживает захват ресурсов из внешних потоков
  •   Циклические ссылки между std::shared_ptr могут привести к утечке памяти
  •   std::shared_ptr поддерживает совместное владение объектами
7 голосов


🤔 Принцип подстановки Барбары Лисков?

Принцип Лисков (LSP) утверждает, что объект базового класса должен быть заменим объектом производного класса без изменения поведения программы. Производный класс не должен нарушать инварианты и контракт базового класса.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний


🤔 Какое из следующих утверждений о std::uncaught_exceptions неверно?
Опрос
  •   std::uncaught_exceptions возвращает количество активных необработанных исключений
  •   std::uncaught_exceptions может использоваться для написания безопасных деструкторов
  •   std::uncaught_exceptions всегда возвращает 0 вне блока catch
  •   std::uncaught_exceptions является частью библиотеки
5 голосов


🤔 Какой имеется побочный эффект при работе с кодом в хидере?

При работе с кодом в хидерах возможны проблемы, связанные с повторным включением файлов (multiple inclusion), что может вызвать ошибки компиляции. Это решается использованием включающих защит (#pragma once или #ifndef). Также код в хидере увеличивает время компиляции, так как включается в несколько исходных файлов.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний


🤔 Какое из следующих утверждений о std::getline неверно?
Опрос
  •   std::getline автоматически обрабатывает пробелы внутри строки
  •   std::getline не поддерживает чтение строк с символами новой строки внутри
  •   std::getline может использоваться для чтения строк из std::ifstream
  •   std::getline считывает строку из потока до символа новой строки
4 голосов


🤔 Как можно проверить, что нет double exception?

Используйте функцию std::uncaught_exceptions() (C++17) или std::uncaught_exception() (до C++17) для проверки активного исключения.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний


🤔 Какой контейнер STL использует двоичное дерево для хранения элементов?
Опрос
  •   std::vector
  •   std::list
  •   std::map
  •   std::deque
14 голосов


🤔 Знаешь правило 5ти и правило 0?

Правило пяти в C++ означает, что если класс определяет один (или более) из следующих специальных членов функций, то ему, скорее всего, необходимо определить и все пять: деструктор, конструктор копирования, оператор копирования, конструктор перемещения и оператор перемещения. Правило нуля говорит, что классы должны использовать существующие классы управления ресурсами, такие как smart pointers, которые обеспечивают автоматическое управление ресурсами, избегая необходимости явного определения этих функций.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний


🤔 Какое из следующих утверждений о std::any неверно?
Опрос
  •   std::any предоставляет метод has_value() для проверки наличия значения
  •   std::any позволяет хранить значения различных типов
  •   std::any автоматически преобразует типы при хранении и извлечении
  •   std::any поддерживает прямое извлечение значений по типу
4 голосов


🤔 Какое из следующих утверждений о std::forward_list неверно?
Опрос
  •   std::forward_list более эффективен по памяти по сравнению с std::list
  •   std::forward_list поддерживает вставку и удаление элементов в любом месте
  •   std::forward_list является частью библиотеки
  •   std::forward_list представляет собой односвязный список
5 голосов


🤔 Как работает счетчик ссылок в shared_ptr?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний

Показано 20 последних публикаций.