Что выведет программа?
Anonymous Quiz
22%
0
46%
Мусорное значение
27%
Compiler Error
5%
Runtime Error
#вопросы_с_собеседований
Отличие перегрузки оператора от перегрузки функций?
Перегрузка функций даёт двум или более функциям с разными типами и количеством параметров иметь одно и то же имя. С другой стороны, перегрузка оператора позволяет переопределить способ работы оператора для пользовательских типов.
Отличие перегрузки оператора от перегрузки функций?
Перегрузка функций даёт двум или более функциям с разными типами и количеством параметров иметь одно и то же имя. С другой стороны, перегрузка оператора позволяет переопределить способ работы оператора для пользовательских типов.
This media is not supported in your browser
VIEW IN TELEGRAM
Дерево Фенвика
Довольно простая и быстрая, но совсем не очевидная в плане идеи и понимания структура данных. Позволяет находить сумму на префиксе и изменять отдельные элементы за O(log n). В следующем посте — реализация на C++.
Довольно простая и быстрая, но совсем не очевидная в плане идеи и понимания структура данных. Позволяет находить сумму на префиксе и изменять отдельные элементы за O(log n). В следующем посте — реализация на C++.
Структура представлена в виде массива f, в котором f[i] – сумма всех элементов от F[i] до i. Функция F(x) связана с битовым представлением аргумента. Вкратце можно описать так: F(x) заменяет группу единичных битов, находящихся в конце числа (младших) на нули. Если x заканчивается на нулевой бит, то F(x) = x. В битовых операциях F(x) задаётся так: F(x) = x & (x + 1).
Нам понадобятся три функции: прибавление x к элементу с индексом i, получение суммы дерева от 0до xи получение суммы на [a..b].
Нам понадобятся три функции: прибавление x к элементу с индексом i, получение суммы дерева от 0до xи получение суммы на [a..b].
Сколько и каких конструкторов класса std::string будет вызвано в коде?
Anonymous Quiz
49%
Конструктор по умолчанию + конструктор перемещения
17%
Конструктор по умолчанию + два конструктора перемещения
29%
Конструктор по умолчанию + конструктор перемещения + конструктор копирования
6%
Конструктор по умолчанию + два конструктора копирования
Метод crbegin
Возвращает постоянный обратный итератор, указывающий на последний элемент вектора (обратное начало). Он перемещается от последнего к первому элементу.
Подробнее можно почитать здесь.
Возвращает постоянный обратный итератор, указывающий на последний элемент вектора (обратное начало). Он перемещается от последнего к первому элементу.
Подробнее можно почитать здесь.
Bitset
Bitset — это контейнер в C++ Standard Library для работы с данными на битовом уровне.
Набор битов хранит биты (элементы только с двумя возможными значениями: 0 или 1). Тем не менее, мы можем получить часть строки, предоставив позиции конструктору bitset (позиции относятся к позиции строки слева направо).
Подробнее можно почитать здесь.
Bitset — это контейнер в C++ Standard Library для работы с данными на битовом уровне.
Набор битов хранит биты (элементы только с двумя возможными значениями: 0 или 1). Тем не менее, мы можем получить часть строки, предоставив позиции конструктору bitset (позиции относятся к позиции строки слева направо).
Подробнее можно почитать здесь.
#вопросы_с_собеседований
Что лучше: const или define?
Ответ:
define - это директива препроцессора, которая не учитывает ни типов, ни областей видимости. Препроцессор вставляет значение везде, где оно используется и создается множество копий 3.14159265359 в объектном коде, константа никогда не порождает больше одной копии этого значения. define трудно отлаживать, потому что у него нет имени, только магическое число, нельзя взять адрес или создать ссылку на это значение.
У const есть тип, область видимости, можно взять адрес, создать константную ссылку на эту переменную.
Определенно, лучше использовать const, а не define.
Что лучше: const или define?
Ответ:
У const есть тип, область видимости, можно взять адрес, создать константную ссылку на эту переменную.
Определенно, лучше использовать const, а не define.
#вопросы_с_собеседований
Какие специальные функции-члены может генерировать сам компилятор? Напишите их сигнатуру?
Ответ:
Компилятор может сам генерировать шесть функций.
• Конструктор по умолчанию;
Object();
• деструктор;
~Object();
• копирующий конструктор;
Object(const Object& oth);
• оператор копирующего присваивания;
Object& operator=(const Object& oth);
• перемещающий конструктор;
Object(Object&& oth);
• оператор перемещающего присваивания;
Object& operator=(Object&& oth);
Какие специальные функции-члены может генерировать сам компилятор? Напишите их сигнатуру?
Ответ:
• Конструктор по умолчанию;
Object();
• деструктор;
~Object();
• копирующий конструктор;
Object(const Object& oth);
• оператор копирующего присваивания;
Object& operator=(const Object& oth);
• перемещающий конструктор;
Object(Object&& oth);
• оператор перемещающего присваивания;
Object& operator=(Object&& oth);
Juce
Juce — кроссплатформенный фреймворк, предназначенный для создания приложений и плагинов на языке C++.
Документации по Juce много, но не на русском языке. Поэтому можно скачать книгу «Программирование на C++ с JUCE 4.2.x: Создание кроссплатформенных мультимедийных приложений с использованием библиотеки JUCE на простых примерах».
Juce больше популярен среди разработчиков аудио — ПО благодаря набору интерфейсов-оболочек для построения аудио плагинов.
https://juce.com/
Juce — кроссплатформенный фреймворк, предназначенный для создания приложений и плагинов на языке C++.
Документации по Juce много, но не на русском языке. Поэтому можно скачать книгу «Программирование на C++ с JUCE 4.2.x: Создание кроссплатформенных мультимедийных приложений с использованием библиотеки JUCE на простых примерах».
Juce больше популярен среди разработчиков аудио — ПО благодаря набору интерфейсов-оболочек для построения аудио плагинов.
https://juce.com/
SDL
Простая, удобная, кроссплатформенная библиотека как для создания 2D игр, так и для пользовательских приложений, имеются инструменты для профессиональной работы со звуком.
https://www.libsdl.org/
Простая, удобная, кроссплатформенная библиотека как для создания 2D игр, так и для пользовательских приложений, имеются инструменты для профессиональной работы со звуком.
https://www.libsdl.org/