uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

C++ geek

C++ geek

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish
3 503
Obunachilar
Ma'lumot yo'q24 soatlar
-27 kun
-2630 kun
Postlar arxiv
Как сгенерировать pure virtual function call исключение? Ответ: Нужно вызвать чисто виртуальный метод в конструкторе родитель
Как сгенерировать pure virtual function call исключение? Ответ: Нужно вызвать чисто виртуальный метод в конструкторе родительского класса т.е. до создания дочернего, в котором этот метод реализован. Т.к. современный компилятор не даст это сделать напрямую, то нужно будет использовать промежуточный метод. ➡️ @cpp_geek

Примеры C++ кода до и после Ranges Измените несортированный диапазон, чтобы он сохранял только уникальные значения, но в обра
Примеры C++ кода до и после Ranges Измените несортированный диапазон, чтобы он сохранял только уникальные значения, но в обратном порядке. ➡️ @cpp_geek

Алгоритм iota Присваивает каждому элементу в диапазоне [first,last) последовательные значения val, как если бы они увеличивал
Алгоритм iota Присваивает каждому элементу в диапазоне [first,last) последовательные значения val, как если бы они увеличивались ++val после записи каждого элемента. ➡️ @cpp_geek

Примеры C++ кода до и после Ranges Удаляем два наименьших и два самых больших значения диапазона и оставляем остальные, упоря
Примеры C++ кода до и после Ranges Удаляем два наименьших и два самых больших значения диапазона и оставляем остальные, упорядоченные во втором диапазоне. ➡️ @cpp_geek

Алгоритм lower_bound Возвращает итератор, указывающий на первую позицию в отсортированной последовательности, ограниченной ди
Алгоритм lower_bound Возвращает итератор, указывающий на первую позицию в отсортированной последовательности, ограниченной диапазоном [first, last), в которую можно вставить значение value, не нарушая упорядоченности. ➡️ @cpp_geek

Можно ли использовать ссылку при возвращении из функции? Это хорошо или плохо? Нельзя: • никогда нельзя возвращать ссылку на локальную переменную, созданную внутри функции, потому что она разрушится сразу после выхода из функции; • нельзя возвращать ссылку на выделенную память, потому что её нельзя будет очистить. Можно: • когда возвращается константная ссылка на член класса; • когда Вы пишете оператор <<, оператор = и оператор индексирования, они должны возвращать ссылку на объект. Возвращать ссылку - это хорошо, потому что не вызывается лишний копирующий конструктор для возвращаемого значения, но, иногда лучше и правильнее возвращать по значению. ➡️ @cpp_geek

Лямбда-выражения В C++ 11 появилась поддержка лямбда-выражений. Они напоминают анонимные функции в JavaScript, их можно сравн
Лямбда-выражения В C++ 11 появилась поддержка лямбда-выражений. Они напоминают анонимные функции в JavaScript, их можно сравнить с функциональными объектами без имён. Они захватывают переменные в различных областях видимости в зависимости от их описания, для которого используются компактные синтаксические конструкции. Кроме того, их можно назначать переменным. Лямбда-выражения — весьма полезный инструмент для тех случаев, когда в коде нужно выполнить какую-нибудь небольшую операцию, но для этого не хочется писать отдельную функцию. Ещё один распространённый пример их использования — создание функций, используемых при сравнении значений. ➡️ @cpp_geek

Перед вами два примера кода для печати вектора. Есть ли преимущества использования одного или другого? Пример 1: c++ vector vec; /* ... .. ... */ for (auto itr = vec.begin(); itr != vec.end(); itr++) { itr->print(); } Пример 2: c++ vector vec; /* ... .. ... */ for (auto itr = vec.begin(); itr != vec.end(); ++itr) { itr->print(); } Хотя оба кода будут генерировать одинаковые выходные данные, пример 2 является более производительным вариантом. Это связано с тем, что оператор после инкремента itr++ обходится дороже, чем оператор перед инкрементом ++itr. Оператор пост-инкремента генерирует копию элемента, прежде чем приступить к увеличению элемента и возврату копии. Более того, большинство компиляторов автоматически оптимизируют пример 1, неявно преобразуя его в пример 2. ➡️ @cpp_geek

Примеры C++ кода до и после Ranges Объединяем все строки в данном диапазоне в одно значение. ➡️ @cpp_geek
Примеры C++ кода до и после Ranges Объединяем все строки в данном диапазоне в одно значение. ➡️ @cpp_geek

Какая разница между статической и динамической библиотеками? Статическая библиотека — это набор объектных файлов, которые компилятор или компоновщик могут использовать для создания исполняемого файла. Когда вы компилируете программу, которая использует статическую библиотеку, код из библиотеки копируется в исполняемый файл. Это означает, что каждый исполняемый файл содержит свою собственную копию кода из статической библиотеки. Динамическая библиотека — это набор функций и данных, которые могут быть загружены и использованы несколькими программами одновременно. Когда вы компилируете программу, которая использует динамическую библиотеку, исполняемый файл содержит только ссылки на функции и данные в библиотеке. Код из динамической библиотеки загружается в память только один раз и может быть использован несколькими программами. Основное отличие между статическими и динамическими библиотеками заключается в том, как они используются и распространяются. Статические библиотеки встраиваются непосредственно в исполняемый файл, что увеличивает его размер, но делает его самодостаточным. Динамические библиотеки распространяются отдельно от исполняемого файла и могут быть использованы несколькими программами, что уменьшает размер каждого исполняемого файла и обеспечивает лучшее использование памяти. ➡️ @cpp_geek

Что дают разные модификаторы при наследовании? Ответ: Изменяют зону видимости членов базового класса. При private наследовани
Что дают разные модификаторы при наследовании? Ответ: Изменяют зону видимости членов базового класса. При private наследовании protected и public члены становятся private. При protected наследовании public становится protected. А при public ничего не изменяется. ➡️ @cpp_geek

std::sort std::sort — это функция стандартной библиотеки для сортировки элементов в контейнерах, таких как вектор или список.
std::sort std::sort — это функция стандартной библиотеки для сортировки элементов в контейнерах, таких как вектор или список. Чтобы использовать std::sort, нужно подключить заголовочный файл . Метод принимает в качестве аргументов итераторы на начало и конец сортируемой последовательности и сортирует элементы в возрастающем порядке по умолчанию. Для определения порядка сортировки можно указать свой компаратор. ➡️ @cpp_geek

Функция remove_if Функция remove_if() используется для удаления из списка всех значений, которые соответствуют истине предика
Функция remove_if Функция remove_if() используется для удаления из списка всех значений, которые соответствуют истине предикату или условию, заданному в качестве параметра функции. Функция выполняет итерацию по каждому члену контейнера списка и удаляет все элементы, которые возвращают true для предиката. ➡️ @cpp_geek

На связи 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