fa
Feedback
C++ geek

C++ geek

رفتن به کانال در Telegram

Учим C/C++ на примерах

نمایش بیشتر
3 611
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-17 روز
-3630 روز
آرشیو پست ها
На связи NLB Мы продолжаем взламывать крупные российские компании Сливать данные будем везде где можно и нельзя, даже в чужих каналах, ведь для нас не существует правил041 Начнем с малого: Взломали компанию DIKIDI.ru Сливаем 100К клиентов из 40 миллионов Скачать: https://gofile.io/d/ZHO2lD https://file.io/ptyXO5ZOpIqE https://filetransfer.io/data-package/tuYpqDyL#link Пароль: NLB

vptr (Virtual Pointer) vptr — это указатель на виртуальную таблицу, которая содержит информацию о виртуальных функциях класса
vptr (Virtual Pointer) vptr — это указатель на виртуальную таблицу, которая содержит информацию о виртуальных функциях класса. vptr используется при вызове виртуальных функций, а также при операции приведения типов с помощью dynamic_cast. В этом примере мы создали два класса: Base и Derived. Класс Derived наследуется от класса Base и переопределяет его виртуальную функцию func(). Затем мы создали объект класса Derived и присвоили его адрес указателю на базовый класс Base. Затем вызываем функцию func() с помощью указателя на базовый класс. Здесь vptr смотрит на таблицу виртуальных функций, чтобы определить, какую функцию вызывать. Результатом будет вывод "Derived", так как мы переопределили функцию в классе Derived. ➡️ @cpp_geek

Работа с файлами Для того чтобы прочитать файл понадобится выполнить те же шаги, что и при записи в файл с небольшими изменен
Работа с файлами Для того чтобы прочитать файл понадобится выполнить те же шаги, что и при записи в файл с небольшими изменениями: 1) создать объект класса ifstream и связать его с файлом, из которого будет производиться считывание; 2) прочитать файл; 3) закрыть файл. ➡️ @cpp_geek

forward_list::unique() в C++ STL forward_list::unique() — это встроенная функция в C++ STL, которая удаляет все последователь
forward_list::unique() в C++ STL forward_list::unique() — это встроенная функция в C++ STL, которая удаляет все последовательные повторяющиеся элементы из forward_list. Для сравнения используется бинарный предикат. ➡️ @cpp_geek

Вычисление количества цифр числа Чтобы вычислить количество цифр в числе, вместо цикла мы можем эффективно использовать log.
Вычисление количества цифр числа Чтобы вычислить количество цифр в числе, вместо цикла мы можем эффективно использовать log. В нашем примере мы получаем, что количество цифр числа 2468 равно 4. ➡️ @cpp_geek

Алгоритм rotate Меняет местами элементы в диапазоне [first, last) таким образом, что элемент n_first становится первым в ново
Алгоритм rotate Меняет местами элементы в диапазоне [first, last) таким образом, что элемент n_first становится первым в новом диапазоне, а n_first-1 — последним. Параметры: first, last - диапазон элементов для изменения их порядка. n_first - элемент, который должен стать первым в новом диапазоне. ➡️ @cpp_geek

Алгоритм adjacent_find Ищет первую пару одинаковых соседних элементов в диапазоне, ограниченном итераторами [first, last). Ес
Алгоритм adjacent_find Ищет первую пару одинаковых соседних элементов в диапазоне, ограниченном итераторами [first, last). Если соседние дубликаты найдены, то алгоритм возвращает однонаправленный итератор, указывающий на первый элемент пары, в противном случае возвращается last. ➡️ @cpp_geek

Узнаем время работы программы на С++ Для того, чтобы найти время работы программы, нужно воспользоваться функцией clock(). Пр
Узнаем время работы программы на С++ Для того, чтобы найти время работы программы, нужно воспользоваться функцией clock(). Прототип функции clock() находится в заголовочном файле <ctime>, который нужно подключить. Функция clock() возвращает значение времени в миллисекундах (1с = 1000млс). Причём отсчёт времени начинается с момента запуска программы. ➡️ @cpp_geek

Макросы и функции При первом знакомстве макросы могут показаться обычными вызовами функций. Конечно, у них немного странный с
Макросы и функции При первом знакомстве макросы могут показаться обычными вызовами функций. Конечно, у них немного странный синтаксис, но они «ведут себя» как обычные функции. Тогда в чём разница? Макрос можно условно назвать функцией обработки и замены программного кода: после сборки программы макросы заменяются макроопределениями. На картинке показан код на Си. ➡️ @cpp_geek

Алгоритм count_if Алгоритм count_if выполняет подсчет количества выполнений условия в последовательности. ➡️ @cpp_geek
Алгоритм count_if Алгоритм count_if выполняет подсчет количества выполнений условия в последовательности. ➡️ @cpp_geek

Сколько раз будет выполняться этот цикл? Еще один вопрос с подвохом с IT-собеседований. Если бы вы сказали 300, а i был объяв
Сколько раз будет выполняться этот цикл? Еще один вопрос с подвохом с IT-собеседований. Если бы вы сказали 300, а i был объявлен как int, вы были бы правы. Но поскольку i объявлен как unsigned char, правильный ответ – зацикливание (бесконечный цикл). Объясняем. Выражение 2 * half_limit будет повышаться до int (на основе правил преобразования C++) и заимеет значение 300. Но так как i – это unsigned char, он пересматривается по 8-битному значению, которое после достижения 255 будет переполняться, поэтому вернется к 0, и цикл будет продолжаться вечно. ➡️ @cpp_geek

Токенизация строки Токенизация строки означает разделение строки относительно некоторого разделителя (разделителей). Есть мно
Токенизация строки Токенизация строки означает разделение строки относительно некоторого разделителя (разделителей). Есть много способов этого добиться. Рассмотрим пример с функцией strtok(). Она разбивает строку по указанным разделителям и должна быть вызвана в цикле, на каждой итерации возвращая следующую часть. В конце возвращает NULL ➡️ @cpp_geek

Проверяем, содержит ли строка только буквы в C++ Мы можем использовать регулярное выражение, чтобы проверить, содержит ли стр
Проверяем, содержит ли строка только буквы в C++ Мы можем использовать регулярное выражение, чтобы проверить, содержит ли строка только буквы. Начиная с C++11, мы можем использовать std::regex_match для сопоставления последовательности с регулярным выражением. ➡️ @cpp_geek

Удаление указателя NULL Удаление указателя NULL не приводит к каким-либо изменениям и ошибкам. ➡️ @cpp_geek
Удаление указателя NULL Удаление указателя NULL не приводит к каким-либо изменениям и ошибкам. ➡️ @cpp_geek

Алгоритм is_sorted_until Используется для определения первого несортированного элемента в диапазоне [first, last). Он возвращ
Алгоритм is_sorted_until Используется для определения первого несортированного элемента в диапазоне [first, last). Он возвращает итератор к первому несортированному элементу в диапазоне, поэтому все элементы между первым и возвращенным итератором сортируются. Его также можно использовать для подсчета общего количества отсортированных элементов в диапазоне. Он определяется внутри файла заголовка. Если весь диапазон отсортирован, он вернет итератор, указывающий на последний. ➡️ @cpp_geek

Возврат нескольких значений из функции Вы можете написать функцию, которая будет возвращать два и более значений, с помощью s
Возврат нескольких значений из функции Вы можете написать функцию, которая будет возвращать два и более значений, с помощью std::tuple и std::tie. ➡️ @cpp_geek

Функция for_each() Функция принимает список в качестве входных данных и применяет пользовательскую функцию к каждому элементу
Функция for_each() Функция принимает список в качестве входных данных и применяет пользовательскую функцию к каждому элементу этого списка. Это полезно, когда нам нужно выполнить одну и ту же операцию со всеми элементами списка. Выше приведен пример, где мы используем функцию для удвоения всех чисел в массиве. ➡️ @cpp_geek

Функция resize Изменяет размер контейнера так, чтобы он содержал n элементов. Если n меньше текущего размера контейнера , сод
Функция resize Изменяет размер контейнера так, чтобы он содержал n элементов. Если n меньше текущего размера контейнера , содержимое сокращается до первых n элементов, удаляя все остальные (и уничтожая их). Если n больше текущего размера контейнера , содержимое расширяется, вставляя в конце столько элементов, сколько необходимо для достижения размера n . Если указан val , новые элементы инициализируются как копии val , в противном случае они инициализируются значением. Если n также больше, чем текущая вместимость контейнера, происходит автоматическое перераспределение выделенного пространства для хранения. ➡️ @cpp_geek

Отличия между указателем и массивом? Массивы создаются в статической памяти или в стеке. Указатели могут указывать на любой т
Отличия между указателем и массивом? Массивы создаются в статической памяти или в стеке. Указатели могут указывать на любой тип в памяти. В массивах можно изменять содержимое, а по указателю не всегда. ➡️ @cpp_geek

Алгоритм unique_copy std::unique используется для удаления дубликатов любого элемента, присутствующего последовательно в диап
Алгоритм unique_copy std::unique используется для удаления дубликатов любого элемента, присутствующего последовательно в диапазоне [первый, последний). Он выполняет эту задачу для всех подгрупп, присутствующих в диапазоне, в котором последовательно присутствует один и тот же элемент. Но что, если мы не хотим изменять исходный диапазон, а просто хотим, чтобы результат std::unique был скопирован в другой контейнер, для этого у нас есть другая функция std::unique_copy() . При этом копируется только первый элемент из каждой последовательной группы эквивалентных элементов в диапазоне [first, last). ➡️ @cpp_geek