Библиотека 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
加入频道
Изменение порядка параметров типа шаблона 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). Он возвращает итератор к первому несортированному элементу в диапазоне, поэтому все элементы между первым и возвращенным итератором сортируются.

Его также можно использовать для подсчета общего количества отсортированных элементов в диапазоне. Он определяется внутри файла заголовка. Если весь диапазон отсортирован, он вернет итератор, указывающий на последний.
#код
Каких знаний вам не хватает?
Расскажите в комментариях ⬇️
#интерактив
Оператор присваивания ( = ), строго говоря, является бинарным оператором. Его объявление идентично объявлению любого другого бинарного оператора со следующими исключениями:

☑️ Он должен быть нестатической функцией-членом.

☑️ Он не наследуется производными классами.

☑️ Компилятор может создать функцию operator = по умолчанию для типов классов, если она не существует.

В примере показано, как объявить оператор присваивания.
#код
Можно ли в C++ умножать или делить целое значение на степени двойки, не используя операций "*" или "/"?

Это можно делать в любом языке, где есть побитовый сдвиг. Умножению значения x на 2, например, соответствует операция x > 2.
#вопросы_с_собеседований
Что такое Name Mangling в C++?

Когда мы пишем программы на C++, мы постоянно создаем новые функции и методы с (надеюсь) описательными именами. Имена важны для нас, людей, для понимания кода. Но в скомпилированном машинном коде наших готовых исполняемых файлов они не играют никакой роли. Процессор даже не знает о них.

Читать статью
Алгоритм stable_partition

Упорядочивает последовательность, определенную параметрами start и end, так, чтобы все элементы, для которых предикат возвращал true, предшествовали тем, для которых предикат возвращает false. Разметка стабильная. Это означает, что относительный порядок последовательности сохраняется.
👀 Руки прочь от кода: почему технический менеджер не должен ревьюить код

В этой статье мы подробно рассмотрим отличие технического менеджера от техлида. Также узнаем, почему при размере команды больше четырех технический менеджер должен сосредоточиться на своей основной роли — управлении коммуникациями внутри и вне команды.

🔗 Основной сайт
🔗 Зеркало
👨‍💻🗺️ Кому в IT жить хорошо: Indeed опубликовал список из 19 наиболее востребованных спецов за рубежом в 2023 году

Рассказываем, кем нужно быть и какой стек начать изучать, чтобы жить в Кремниевой долине и зарабатывать от $150 000.

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

Компилятор машинного обучения для графических процессоров, процессоров и ускорителей машинного обучения.

Открыть компилятор
#вопросы_с_собеседований
Что выведет код?

#include <iostream>

class A {
public:
A() {}
~A() {
throw 42;
}
};

int main(int argc, const char * argv[]) {
try {
A a;
throw 32;
} catch(int a) {
std::cout << a;
}
}

Ответ: программа завершится аварийно.
Оптимальный выбор подмножества в C++ с помощью решателей ограничений OR-Tools

В этой статье представлена ​​общая, но сложная проблема поиска оптимального подмножества из заданного набора элементов.

Читать статью
Метод wcscmp()

Функция wcscmp() определена в заголовочном файле cwchar.h . Функция wcscmp() используется для сравнения двух широких строк, заканчивающихся нулем, и это сравнение выполняется лексикографически.

Подробнее можно почитать здесь.