Библиотека C/C++ разработчика | cpp, boost, qt
21K subscribers
1.57K photos
40 videos
16 files
3.74K links
Все самое полезное для плюсовика и сишника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d6cd2932

Наши каналы: https://yangx.top/proglibrary/9197

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
加入频道
🤖🎮 GPT-4 играет в Minecraft и самообучается: сингулярность, в результате которой ИИ сам сделает себя умнее людей

В этой статье речь пойдет об эксперименте Voyager, в котором группа исследователей дала GPT-4 поиграть в Minecraft. Нейросеть сама учила себя играть, обучалась разным действиям вроде «срубить дерево» или «убить паука» и добавляла скиллы в свою библиотеку. Проще говоря, GPT-4 теперь пишет код, проверяет его и совершенствует. Именно с такого начинается так называемая сингулярность, в результате которой ИИ сам сделает себя умнее людей. Сингулярность Майнкрафта.

🔗 Основной сайт
🔗 Зеркало
🎬25 фильмов и сериалов о видеоиграх

Не знаете, чем себя занять вечером пятницы? Тогда мы вам поможем 💪
Забирайте пачку фильмов и сериалов о геймдеве, видеоиграх и разрабах.

👉Выбрать, что смотреть
Стандартные атрибуты в C и C++, Тимур Думлер, ACCU 2023

Этот доклад представляет собой подробный обзор стандартных атрибутов, доступных в настоящее время в языках программирования C и C++.

Смотреть доклад
Pure Virtual C++ 2023: санитайзер для адресов continue_on_error на VC++

Ошибки безопасности памяти C++ продолжают вызывать серьезную озабоченность. В этом докладе описывается continue_on_error — новая технология, реализованная в среде выполнения Address Sanitizer. Компилятор и новая среда выполнения позволяют разработчику находить четко определенный набор (возможно, скрытых) ошибок безопасности памяти, не имеют ложных срабатываний и легко добавляются к существующим тестовым активам. Это создает новую проверенную сборку для C и C++.

Смотреть видео
100 дней — день 1

Автор статьи запускает челендж — он будет решать одну или несколько задач с leetcode/gfg в день и публиковать то, что узнал. На данный момент он уже пропустил один день. 😃 Но в восьми статьях, которые успели выйти, содержится много полезных решений.

Читать статью
Вывод double, также известный как самая сложная задача в компьютерных науках

Несколько лет назад я обнаружил этот вопрос на StackOverflow: как напечатать double с полной точностью, используя cout? Я был потрясен, увидев, насколько неправильными были большинство ответов, поэтому тогда я ответил сам. Недавно я снова наткнулся на него и решил написать этот пост в блоге, объясняя проблемы с некоторыми из лучших ответов.

Читать пост
🤖 Нейронки кодят за вас: 28 AI-сервисов в помощь разработчику

Расскажем о самых полезных новинках, которые помогут написать, отладить и протестировать код, а также ускорят процесс изучения нового стека и подготовку к собеседованию.

🔗 Основной сайт
🔗 Зеркало
Что такое хеш-функция? Объясните на примере

Хеш-функция - это функция, которая принимает на вход некоторые данные и возвращает фиксированный размер выходных данных, называемый хешем. Такие функции широко используются в C++ для решения задач с поиском и индексированием данных. Они позволяют быстро находить элементы в массивах или хранилищах данных.

Рассмотрим применение на примере кода выше:
Мы создаем объект хеш-функции для строки и используем его для вычисления хеша для строки "Hello, world!". Результатом выполнения программы будет вывод на экран хеш-значения для этой строки.
#вопросы_с_собеседований
⚖️ 4 основных алгоритма сравнения Git Diff: когда и какой алгоритм использовать

Обзор четырех алгоритмов git diff: Майерса, минимальный, «терпения» и гистограммный. Также приводятся наглядные примеры, чтобы можно было сравнить результат применения каждого алгоритма самостоятельно.

🔗 Основной сайт
🔗 Зеркало
Задача

Для каждого из чисел второй последовательности найдите ближайшее к нему в первой.

В первой строке входных данных содержатся числа N и K (). Во второй строке задаются N чисел первого массива, отсортированного по неубыванию, а в третьей строке – K чисел второго массива. Каждое число в обоих массивах по модулю не превосходит 2⋅10**9.

Для каждого из K чисел выведите в отдельную строку число из первого массива, наиболее близкое к данному. Если таких несколько, выведите меньшее из них.
#код
C++23: две дополнительные noexcept функции

в C++23 есть 125 изменений/исправлений/новых функций, и они постепенно освещаются в этом блоге.

Читать статью
Удаление всех вхождений элемента в массив

В этом методе сдвиньте нецелевой элемент в левую сторону.

🔨 Проверьте, является ли текущий элемент целевым элементом или нет.
🔨 Если это целевой элемент, увеличьте переменную cnt.
🔨 После этого элемента все нецелевые элементы сдвинутся влево с промежутком (n-cnt).

Временная сложность: O(n)
Сложность пространства: O(1)

На картинке приведена программа на C ++ для удаления всех вхождений элемента из массива с использованием оптимизированного подхода.
#код
Изменение порядка параметров типа шаблона C++ для удобства использования и вывод типа из будущего

Небольшой полезный пост от Реймонда Чена.

Читать пост
Получить текущее время и дату в C++

Начиная с C++11, стандартным решением для получения текущего времени и даты в C++ является использование библиотеки chrono.

Мы можем получить текущее время с помощью std::chrono::system_clock::now() от hrono.h хедера и преобразовать его в std::time_t тип (время от эпохи).

Затем преобразовать std::time_t на местное календарное время std::ctime в Www Mmm dd hh:mm:ss yyyy формате, как показано на картинке.
#код
Метод map::max_size()

map::max_size() — это встроенная функция C++ STL, которая возвращает максимальное количество элементов, которые может содержать контейнер map.
#код
Собеседование Middle C++

Запись собеседования на позицию мидла с фидбэком. Видео длится почти час, интервьюер успел задать интересные вопросы на разные темы — и про сериализацию, и про мув семантику.

Смотреть видео
Просмотр все файлов в папке с помощью C++

Для того, чтобы просмотреть все файлы в папке с помощью C++, можно использовать функцию std::filesystem::directory_iterator(). Данная функция позволяет перебирать все файлы в указанной директории.

В данном примере мы получаем текущую директорию с помощью функции fs::current_path(), а затем проходим по всем файлам в этой директории с помощью цикла for. Внутри цикла мы выводим путь к каждому файлу с помощью метода entry.path().
#вопросы_с_собеседований
Как запретить наследовать класс?

Чтобы запретить наследование класса в C++, вы можете объявить класс как final.

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

class Base final {
// ...
};

class Derived : public Base {
// ...
};
// Ошибка компиляции: класс Base объявлен как final
Функция isprint()

В C++ isprint() — это предопределенная функция, используемая для обработки строк и символов. cstring — это заголовочный файл, необходимый для строковых функций, а cctype — заголовочный файл, необходимый для символьных функций.

Эта функция используется для проверки того, содержит ли аргумент какие-либо печатные символы.

Подробнее можно почитать здесь.
#код
Возможности Rust, которые нужны в C++ — Дэвид Санкель — CppNow

По многим оценкам, Rust — один из самых быстрорастущих языков программирования. Хотя этому росту способствует множество факторов, в этом докладе автор сосредоточился на тех аспектах Rust, которые делают его особенно привлекательным в качестве языка системного программирования. Это касается инструментов, сообщества, стратегии и, конечно же, функций.

Смотреть доклад
Алгоритм is_sorted_until

Используется для определения первого несортированного элемента в диапазоне [first, last). Он возвращает итератор к первому несортированному элементу в диапазоне, поэтому все элементы между первым и возвращенным итератором сортируются.

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