Изменение порядка параметров типа шаблона 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 формате, как показано на картинке.
#код
Начиная с 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.
#код
map::max_size() — это встроенная функция C++ STL, которая возвращает максимальное количество элементов, которые может содержать контейнер map.
#код
Собеседование Middle C++
Запись собеседования на позицию мидла с фидбэком. Видео длится почти час, интервьюер успел задать интересные вопросы на разные темы — и про сериализацию, и про мув семантику.
Смотреть видео
Запись собеседования на позицию мидла с фидбэком. Видео длится почти час, интервьюер успел задать интересные вопросы на разные темы — и про сериализацию, и про мув семантику.
Смотреть видео
Просмотр все файлов в папке с помощью 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
Как запретить наследовать класс?
Чтобы запретить наследование класса в C++, вы можете объявить класс как final.
Ключевое слово final указывает компилятору, что класс не может быть использован в качестве базового класса для других классов. Если попытаться наследовать от класса, объявленного как final, компилятор выдаст ошибку.
class Base final {
// ...
};
class Derived : public Base {
// ...
};
// Ошибка компиляции: класс Base объявлен как final
Функция isprint()
В C++ isprint() — это предопределенная функция, используемая для обработки строк и символов. cstring — это заголовочный файл, необходимый для строковых функций, а cctype — заголовочный файл, необходимый для символьных функций.
Эта функция используется для проверки того, содержит ли аргумент какие-либо печатные символы.
Подробнее можно почитать здесь.
#код
В C++ isprint() — это предопределенная функция, используемая для обработки строк и символов. cstring — это заголовочный файл, необходимый для строковых функций, а cctype — заголовочный файл, необходимый для символьных функций.
Эта функция используется для проверки того, содержит ли аргумент какие-либо печатные символы.
Подробнее можно почитать здесь.
#код
Возможности Rust, которые нужны в C++ — Дэвид Санкель — CppNow
По многим оценкам, Rust — один из самых быстрорастущих языков программирования. Хотя этому росту способствует множество факторов, в этом докладе автор сосредоточился на тех аспектах Rust, которые делают его особенно привлекательным в качестве языка системного программирования. Это касается инструментов, сообщества, стратегии и, конечно же, функций.
Смотреть доклад
По многим оценкам, Rust — один из самых быстрорастущих языков программирования. Хотя этому росту способствует множество факторов, в этом докладе автор сосредоточился на тех аспектах Rust, которые делают его особенно привлекательным в качестве языка системного программирования. Это касается инструментов, сообщества, стратегии и, конечно же, функций.
Смотреть доклад
Алгоритм is_sorted_until
Используется для определения первого несортированного элемента в диапазоне [first, last). Он возвращает итератор к первому несортированному элементу в диапазоне, поэтому все элементы между первым и возвращенным итератором сортируются.
Его также можно использовать для подсчета общего количества отсортированных элементов в диапазоне. Он определяется внутри файла заголовка. Если весь диапазон отсортирован, он вернет итератор, указывающий на последний.
#код
Используется для определения первого несортированного элемента в диапазоне [first, last). Он возвращает итератор к первому несортированному элементу в диапазоне, поэтому все элементы между первым и возвращенным итератором сортируются.
Его также можно использовать для подсчета общего количества отсортированных элементов в диапазоне. Он определяется внутри файла заголовка. Если весь диапазон отсортирован, он вернет итератор, указывающий на последний.
#код
Дайджест актуальных статей по C и C++. Сохраняй себе и делись с другом:
⚡️ 60 антипаттернов для С++ программиста
⚡️ Выносим за скобки настройки CMake
⚡️ Новые целочисленные типы для языка C++
⚡️ Генерация Пещер
⚡️ 21 фича современного C++, которые вам обязательно пригодятся
⚡️ Обновление fheroes2 — открытого движка Heroes of Might and Magic 2
⚡️ Зачем в Switch SDK три разных sin?
#дайджест
⚡️ 60 антипаттернов для С++ программиста
⚡️ Выносим за скобки настройки CMake
⚡️ Новые целочисленные типы для языка C++
⚡️ Генерация Пещер
⚡️ 21 фича современного C++, которые вам обязательно пригодятся
⚡️ Обновление fheroes2 — открытого движка Heroes of Might and Magic 2
⚡️ Зачем в Switch SDK три разных sin?
#дайджест
Оператор присваивания ( = ), строго говоря, является бинарным оператором. Его объявление идентично объявлению любого другого бинарного оператора со следующими исключениями:
☑️ Он должен быть нестатической функцией-членом.
☑️ Он не наследуется производными классами.
☑️ Компилятор может создать функцию operator = по умолчанию для типов классов, если она не существует.
В примере показано, как объявить оператор присваивания.
#код
☑️ Он должен быть нестатической функцией-членом.
☑️ Он не наследуется производными классами.
☑️ Компилятор может создать функцию operator = по умолчанию для типов классов, если она не существует.
В примере показано, как объявить оператор присваивания.
#код
Можно ли в C++ умножать или делить целое значение на степени двойки, не используя операций "*" или "/"?
Это можно делать в любом языке, где есть побитовый сдвиг. Умножению значения x на 2, например, соответствует операция x > 2.
#вопросы_с_собеседований
Это можно делать в любом языке, где есть побитовый сдвиг. Умножению значения x на 2, например, соответствует операция x > 2.
#вопросы_с_собеседований
Что такое Name Mangling в C++?
Когда мы пишем программы на C++, мы постоянно создаем новые функции и методы с (надеюсь) описательными именами. Имена важны для нас, людей, для понимания кода. Но в скомпилированном машинном коде наших готовых исполняемых файлов они не играют никакой роли. Процессор даже не знает о них.
Читать статью
Когда мы пишем программы на C++, мы постоянно создаем новые функции и методы с (надеюсь) описательными именами. Имена важны для нас, людей, для понимания кода. Но в скомпилированном машинном коде наших готовых исполняемых файлов они не играют никакой роли. Процессор даже не знает о них.
Читать статью
Алгоритм stable_partition
Упорядочивает последовательность, определенную параметрами start и end, так, чтобы все элементы, для которых предикат возвращал true, предшествовали тем, для которых предикат возвращает false. Разметка стабильная. Это означает, что относительный порядок последовательности сохраняется.
Упорядочивает последовательность, определенную параметрами start и end, так, чтобы все элементы, для которых предикат возвращал true, предшествовали тем, для которых предикат возвращает false. Разметка стабильная. Это означает, что относительный порядок последовательности сохраняется.
👀 Руки прочь от кода: почему технический менеджер не должен ревьюить код
В этой статье мы подробно рассмотрим отличие технического менеджера от техлида. Также узнаем, почему при размере команды больше четырех технический менеджер должен сосредоточиться на своей основной роли — управлении коммуникациями внутри и вне команды.
🔗 Основной сайт
🔗 Зеркало
В этой статье мы подробно рассмотрим отличие технического менеджера от техлида. Также узнаем, почему при размере команды больше четырех технический менеджер должен сосредоточиться на своей основной роли — управлении коммуникациями внутри и вне команды.
🔗 Основной сайт
🔗 Зеркало
👨💻🗺️ Кому в IT жить хорошо: Indeed опубликовал список из 19 наиболее востребованных спецов за рубежом в 2023 году
Рассказываем, кем нужно быть и какой стек начать изучать, чтобы жить в Кремниевой долине и зарабатывать от $150 000.
🔗 Основной сайт
🔗 Зеркало
Рассказываем, кем нужно быть и какой стек начать изучать, чтобы жить в Кремниевой долине и зарабатывать от $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() используется для сравнения двух широких строк, заканчивающихся нулем, и это сравнение выполняется лексикографически.
Подробнее можно почитать здесь.
Функция wcscmp() определена в заголовочном файле cwchar.h . Функция wcscmp() используется для сравнения двух широких строк, заканчивающихся нулем, и это сравнение выполняется лексикографически.
Подробнее можно почитать здесь.