С++ Собеседования
1.06K subscribers
32 photos
2 links
по всем вопросам @haarrp
Download Telegram
Что выведет код сверху?
Anonymous Quiz
25%
30
22%
36
10%
42
43%
35
👍2
std::find_if

std::find_if — это стандартный алгоритм, предоставляемый библиотекой . Этот алгоритм предназначен для поиска первого элемента в заданном диапазоне, который удовлетворяет заданному условию, определенному предикатом.

Вот общий формат std::find_if:

#include

template
InputIt find_if(InputIt first, InputIt last, UnaryPredicate p);

first и last представляют диапазон элементов для поиска. first указывает на начало диапазона, а last указывает за его пределы.
p — это унарный предикат, то есть функция, принимающая один аргумент и возвращающая true, если элемент удовлетворяет условию, и false в противном случае.
Библиотечный метод

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

Формат входных данных:
На первой строке дано целое число n (1 ≤ n ≤ 100) — количество элементов в массиве. На второй строке задан сам массив: последовательность натуральных чисел, не превышающих 10^9.

Формат выходных данных:
В выходной файл выведите строки (по количеству вставок) по n чисел каждая.
Что выведет код сверху?

Эта программа завершится аварийно. throw 32 начнет раскручивать стек и уничтожит класс A. Деструктор класса A выдаст еще одно исключение во время обработки исключения, что приведет к сбою программы. Этот вопрос проверяет, есть ли у разработчика опыт работы с исключениями.
👍1🔥1
Pcap

Pcap — это библиотека для захвата и анализа сетевого трафика.

Она используется для:
- Сниффинга сети;
- Анализа протоколов;
- Отладки сетевых приложений.

Код из примера открывает устройство для захвата пакетов, в цикле считывает пакеты и выводит их длину.
📋 Windowing method (Метод скользящего окна)

Метод скользящего окна — это подход к решению популярного типа алгоритмических задач

🔍 Принцип работы
• Определите размер окна (количество элементов данных в окне)
• Передвигайте окно по последовательности данных
• Вычисляйте интересующие вас значение
3👍1
Что такое Uniform initialization? Aggregate initialization?

Uniform initialization, введенная в C++11, позволяет использовать единый синтаксис для инициализации переменных и объектов, начиная от примитивных типов до агрегатов¹. Другими словами, она вводит инициализацию скобками, которая использует фигурные скобки {} для заключения значений инициализатора. Синтаксис выглядит следующим образом: type var_name {arg1, arg2, ....arg n}.

Aggregate initialization - это форма инициализации списком для массивов или типов класса (часто структур или объединений), которые имеют: нет приватных или защищенных членов, нет пользовательских конструкторов, кроме явно заданных или удаленных конструкторов . Это позволяет напрямую инициализировать элементы агрегатов. Для этого мы предоставляем список инициализаторов в качестве инициализатора, который представляет собой список значений, разделенных запятыми.

Например, если у вас есть структура с несколькими членами:
struct Employee {
int id {};
int age {};
double wage {};
};


Когда мы определяем объект с типом структуры, нам нужен способ инициализации нескольких членов во время инициализации:
Employee joe; // как мы инициализируем joe.id, joe.age и joe.wage?

Агрегаты используют форму инициализации, называемую агрегатной инициализацией, которая позволяет нам напрямую инициализировать элементы агрегатов. Для этого мы предоставляем список инициализаторов в качестве инициализатора, который представляет собой список значений, разделенных запятыми. Так же как обычные переменные могут быть скопированы, напрямую инициализированы или списком инициализированы, есть 3 формы агрегатной инициализации.

#cpp #programming

@cppsobes
2👍2🔥1
Что выведет код сверху?
Anonymous Quiz
13%
30
19%
Error
47%
870
22%
Segmentation fault
3🤡2