Forwarded from Книги для C/C++ разработчиков
📚Extreme C (2019)
✍️Автор: Amini K.
📃Страниц: 823
После прочтения этой книги начинающие разработчики смогут получить повышение в должности и стать старшими инженерами. Кроме того, после прочтения этой книги их опыт лучше подойдет для более подходящих вакансий, которые являются сложными и, как правило, хорошо оплачиваемыми. Некоторые темы все еще могут быть полезны старшим инженерам по C/C++, но ожидается, что большинство тем им известны, и только некоторые дополнительные детали все еще могут быть полезны.
Ссылка на книгу
✍️Автор: Amini K.
📃Страниц: 823
После прочтения этой книги начинающие разработчики смогут получить повышение в должности и стать старшими инженерами. Кроме того, после прочтения этой книги их опыт лучше подойдет для более подходящих вакансий, которые являются сложными и, как правило, хорошо оплачиваемыми. Некоторые темы все еще могут быть полезны старшим инженерам по C/C++, но ожидается, что большинство тем им известны, и только некоторые дополнительные детали все еще могут быть полезны.
Ссылка на книгу
🤔 Очередной #дайджест по С++
🔽 Дорожная карта навыков разработчика на C++ — универсальная дорожная карта будет полезна всем, кто хочет развиваться в разработке
🔽 Больше функциональности в C++23 — приемы, дополнения и библиотеки улучшающие работу разработчика
🔽 Малоизвестные и интересные особенности C и C++ — малоизвестные и странные решения, принятые в языках C и C++, своего рода солянка из фактов
🔽 Про сортировку чисел и SIMD или как я обогнал STL в 16 раз — как быстро сортировать множества, в которых количество элементов не превышает 128 элементов
🔽 LLVM и GCC, Register allocation, IT-образование в вузах и прочее — познавательный разговор с разработчиком компиляторов для CPU и GPU
🔽 Дорожная карта навыков разработчика на C++ — универсальная дорожная карта будет полезна всем, кто хочет развиваться в разработке
🔽 Больше функциональности в C++23 — приемы, дополнения и библиотеки улучшающие работу разработчика
🔽 Малоизвестные и интересные особенности C и C++ — малоизвестные и странные решения, принятые в языках C и C++, своего рода солянка из фактов
🔽 Про сортировку чисел и SIMD или как я обогнал STL в 16 раз — как быстро сортировать множества, в которых количество элементов не превышает 128 элементов
🔽 LLVM и GCC, Register allocation, IT-образование в вузах и прочее — познавательный разговор с разработчиком компиляторов для CPU и GPU
❗«Библиотека программиста» ищет контент-менеджера для ведения телеграм-каналов
Ищем человека, который грамотно пишет и разбирается в одной из этих тем:
👉С++
👉C#
👉DevOps
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
Ищем человека, который грамотно пишет и разбирается в одной из этих тем:
👉С++
👉C#
👉DevOps
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
#вопросы_с_собеседования
Объясните концепцию и применение шаблонов политик в C++ и как они способствуют принципам проектирования, основанным на композиции вместо наследования
Шаблоны политик в C++ представляют собой технику проектирования, при которой поведение класса параметризуется через шаблоны. Это позволяет программистам выбирать или изменять аспекты поведения класса на этапе компиляции, вставляя разные «политики» — это могут быть классы или функции, определяющие определённые аспекты поведения. Этот подход способствует гибкости и повторному использованию кода, позволяя композицию поведения вместо жёсткого наследования. Он также помогает уменьшить связность кода и увеличивает его модульность, поскольку изменения в одной политике не влияют на другие.
Объясните концепцию и применение шаблонов политик в C++ и как они способствуют принципам проектирования, основанным на композиции вместо наследования
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Forwarded from Библиотека задач по C++ | тесты, код, задания
Алгоритм includes
Используется для распознавания, существуют ли все числа тз одного контейнера в других контейнерах. Это помогает проверить, является ли набор подмножеством другого набора или нет, учитывая, что набор упорядочен. Ожидается, что элементы будут отсортированы по порядку.
Используется для распознавания, существуют ли все числа тз одного контейнера в других контейнерах. Это помогает проверить, является ли набор подмножеством другого набора или нет, учитывая, что набор упорядочен. Ожидается, что элементы будут отсортированы по порядку.
😱🤓 Неожиданное взаимодействие предсказания ветвлений и подсистем памяти
Статья посвящена оптимизации подсистем памяти.
В ней про взаимодействие механизма предсказания ветвлений с подсистемой памяти.
Схема предсказания переходов (ветвлений) является частью многих современных процессоров и используется для ускорения вычислений, когда у процессора недостаточно данных для продолжения работы. По сути, согласно ей процессор пытается спрогнозировать результат выполнения условной ветки кода до его фактического вычисления. Это событие называется спекуляцией в отношении результата ветвления, и последующие инструкции выполняются спекулятивно, то есть в случае ошибочного прогноза их результаты будут отменены.
Далее вас ждут примеры и подробный разбор
#гайд
Статья посвящена оптимизации подсистем памяти.
В ней про взаимодействие механизма предсказания ветвлений с подсистемой памяти.
Схема предсказания переходов (ветвлений) является частью многих современных процессоров и используется для ускорения вычислений, когда у процессора недостаточно данных для продолжения работы. По сути, согласно ей процессор пытается спрогнозировать результат выполнения условной ветки кода до его фактического вычисления. Это событие называется спекуляцией в отношении результата ветвления, и последующие инструкции выполняются спекулятивно, то есть в случае ошибочного прогноза их результаты будут отменены.
Далее вас ждут примеры и подробный разбор
#гайд
std::byte
std::byte — это тип данных, введенный в стандарт C++17. Он представляет собой один байт, то есть 8 бит. std::byte не является ни типом символа, ни типом числа. Он предназначен для представления байтов в памяти, независимо от того, используются они для хранения символов, чисел или чего-либо еще.
std::byte может использоваться в следующих случаях:
🔹 Для доступа к памяти, занимаемой другими объектами.
🔹 Для работы с низкоуровневыми функциями, такими как чтение и запись в порты ввода-вывода.
🔹 Для реализации собственных типов данных, которые должны хранить байты.
std::byte — это тип данных, введенный в стандарт C++17. Он представляет собой один байт, то есть 8 бит. std::byte не является ни типом символа, ни типом числа. Он предназначен для представления байтов в памяти, независимо от того, используются они для хранения символов, чисел или чего-либо еще.
std::byte может использоваться в следующих случаях:
🔹 Для доступа к памяти, занимаемой другими объектами.
🔹 Для работы с низкоуровневыми функциями, такими как чтение и запись в порты ввода-вывода.
🔹 Для реализации собственных типов данных, которые должны хранить байты.
Ответ: 2^32 - 25, то есть 4294967271.
Объяснение: вычитание имеет бОльший приоритет и выполнится раньше, чем вывод на экран.
25u означает unsigned int, вместимость этого типа от 0 до 2^32-1.
50 приводится к типу левого аргумента, и становится тоже unsigned int. При вычитании не может получиться отрицательное число, а так как беззнаковые типы "свёрнуты в кольцо", то -25 в unsigned int будет равно 2^32 - 25.
Объяснение: вычитание имеет бОльший приоритет и выполнится раньше, чем вывод на экран.
25u означает unsigned int, вместимость этого типа от 0 до 2^32-1.
50 приводится к типу левого аргумента, и становится тоже unsigned int. При вычитании не может получиться отрицательное число, а так как беззнаковые типы "свёрнуты в кольцо", то -25 в unsigned int будет равно 2^32 - 25.
Forwarded from Библиотека задач по C++ | тесты, код, задания
Алгоритм gcd
Используется для нахождения НОД двух чисел. Он принимает два значения одного типа данных в качестве аргументов и возвращает их НОД.
Используется для нахождения НОД двух чисел. Он принимает два значения одного типа данных в качестве аргументов и возвращает их НОД.
🤔 Очередной #дайджест по С++
◽ Рассказы о SObjectizer — продолжение серии и работа с командами
◽ Создание deb-пакета для самых маленьких — из простого проекта с разделяемыми библиотеками
◽ Syrmia представила Autocheck — проект на базе LLVM/Clang для проверки кода C/C++ на соответствие стандарту AUTOSAR
◽ Объединение интервалов в C++ нового поколения — объедините все перекрывающиеся интервалы и верните массив неперекрывающихся интервалов, которые охватывают все интервалы во входных данных
◽ Что нам недодали в C++ — крик души и требования о выкупе
◽ Рассказы о SObjectizer — продолжение серии и работа с командами
◽ Создание deb-пакета для самых маленьких — из простого проекта с разделяемыми библиотеками
◽ Syrmia представила Autocheck — проект на базе LLVM/Clang для проверки кода C/C++ на соответствие стандарту AUTOSAR
◽ Объединение интервалов в C++ нового поколения — объедините все перекрывающиеся интервалы и верните массив неперекрывающихся интервалов, которые охватывают все интервалы во входных данных
◽ Что нам недодали в C++ — крик души и требования о выкупе
Forwarded from Библиотека задач по C++ | тесты, код, задания
Что делает std::string::at()?
std::string::at() — это функция, предоставляемая классом std::string для доступа к отдельным символам в строке. Она принимает индекс в качестве аргумента и возвращает символ в указанной позиции.
Функция at() выполняет проверку границы (boundary check), что означает, что она проверяет, находится ли переданный индекс в пределах допустимых значений для строки. Если индекс находится вне диапазона, генерируется исключение std::out_of_range. Это отличается от оператора [], который не выполняет такую проверку.
std::string::at() — это функция, предоставляемая классом std::string для доступа к отдельным символам в строке. Она принимает индекс в качестве аргумента и возвращает символ в указанной позиции.
Функция at() выполняет проверку границы (boundary check), что означает, что она проверяет, находится ли переданный индекс в пределах допустимых значений для строки. Если индекс находится вне диапазона, генерируется исключение std::out_of_range. Это отличается от оператора [], который не выполняет такую проверку.
🎥 Что спросить у работодателя на IT интервью
Чек-лист вопросов, чтобы не забыть спросить о чем-то своего будущего работодателя.
00:22 — Какие цели у команды / проекта / компании
00:39 — Что сделали интересного за несколько лет
01:05 — Какие у меня будут цели и задачи
01:30 — Какой размер и состав команды
01:57 — Какие языки и технологии используются
02:08 — Как устроены процессы в команде
02:33 — Что с кодом
02:53 — Какие у меня будут перспективы роста
03:04 — Какие сейчас есть проблемы
03:28 — Почему ищите человека на эту вакансию
Чек-лист вопросов, чтобы не забыть спросить о чем-то своего будущего работодателя.
00:22 — Какие цели у команды / проекта / компании
00:39 — Что сделали интересного за несколько лет
01:05 — Какие у меня будут цели и задачи
01:30 — Какой размер и состав команды
01:57 — Какие языки и технологии используются
02:08 — Как устроены процессы в команде
02:33 — Что с кодом
02:53 — Какие у меня будут перспективы роста
03:04 — Какие сейчас есть проблемы
03:28 — Почему ищите человека на эту вакансию
Forwarded from Библиотека задач по C++ | тесты, код, задания
Какая разница между структурой и классом?
Главное отличие заключается в том, что структуры по умолчанию имеют public доступ к своим полям, в то время как классы по умолчанию имеют private доступ.
— Структуры обычно используются для простых объектных типов данных, в то время как классы — для более сложных объектов.
— Структуры копируются по значению, а классы — по ссылке. Это означает, что при копировании структуры создается новый объект, а при копировании класса копируется указатель на объект.
— Структуры не поддерживают наследование, в отличие от классов.
В целом, структуры чаще используются для простых данных, а классы — для представления более сложных сущностей и их взаимодействия.
Выбор между ними зависит от конкретной задачи и требований к программе.
Главное отличие заключается в том, что структуры по умолчанию имеют public доступ к своим полям, в то время как классы по умолчанию имеют private доступ.
— Структуры обычно используются для простых объектных типов данных, в то время как классы — для более сложных объектов.
— Структуры копируются по значению, а классы — по ссылке. Это означает, что при копировании структуры создается новый объект, а при копировании класса копируется указатель на объект.
— Структуры не поддерживают наследование, в отличие от классов.
В целом, структуры чаще используются для простых данных, а классы — для представления более сложных сущностей и их взаимодействия.
Выбор между ними зависит от конкретной задачи и требований к программе.
Please open Telegram to view this post
VIEW IN TELEGRAM