🧨Что такое align(...)?
align(...) — расширение языка, которая задает выравнивание структуры и её элементов
❗ Число в align задаёт выравнивание в байтах и может принимать значения от 1 до 8192
‼️ Начиная с C++11 появилось ключевое слово alignas, работает также, но в отличие от align входит в стандарт языка
align(...) — расширение языка, которая задает выравнивание структуры и её элементов
❗ Число в align задаёт выравнивание в байтах и может принимать значения от 1 до 8192
‼️ Начиная с C++11 появилось ключевое слово alignas, работает также, но в отличие от align входит в стандарт языка
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🍰 Зачем нужен std::atomic?
std::atomic — это шаблон для реализации атомарных операций
💡Для std::atomic существуют стандартные алиасы
• std::atomic_bool == std::atomic<bool>
• std::atomic_char == std::atomic<char>
• std::atomic_int == std::atomic<int>
• и т. д.
❗Полученный из std::atomic объект можно безопасно использоваться из нескольких потоков, не задумываясь о синхронизации
std::atomic — это шаблон для реализации атомарных операций
💡Для std::atomic существуют стандартные алиасы
• std::atomic_bool == std::atomic<bool>
• std::atomic_char == std::atomic<char>
• std::atomic_int == std::atomic<int>
• и т. д.
❗Полученный из std::atomic объект можно безопасно использоваться из нескольких потоков, не задумываясь о синхронизации
💣 Лучшие книги по C++ для начинающих и продолжающих: ваши рекомендации
❗Мы ищем лучшие книги (ru, en) по C++, которые помогут как начинающим программистам, делающим свои первые шаги в мире программирования, так и продолжающим программистам, желающим углубить свои знания и перейти на следующий уровень мастерства
❗Мы также хотели бы узнать, почему именно эти книги вы бы порекомендовали. Расскажите, чем они выделяются среди других, какие сильные стороны у этих книг, и как они помогли вам в вашем профессиональном развитии. Ваши обоснования помогут другим программистам принять решение о том, какую книгу выбрать для дальнейшего обучения
😏👉 Опросик
❗Мы ищем лучшие книги (ru, en) по C++, которые помогут как начинающим программистам, делающим свои первые шаги в мире программирования, так и продолжающим программистам, желающим углубить свои знания и перейти на следующий уровень мастерства
❗Мы также хотели бы узнать, почему именно эти книги вы бы порекомендовали. Расскажите, чем они выделяются среди других, какие сильные стороны у этих книг, и как они помогли вам в вашем профессиональном развитии. Ваши обоснования помогут другим программистам принять решение о том, какую книгу выбрать для дальнейшего обучения
😏👉 Опросик
💈 Для чего нужна библиотека limits.h?
limits.h — это файл, включаемый в стандартную библиотеку языка программирования Си, который содержит определения характеристик общих типов переменных. Эти значения могут различаться в зависимости от конкретной реализации, но обычно они не меньше диапазона, определенного для конечного представления
🍎Сюда входят максимальные и минимальные значения для основных типов
🍍Особенно часто в коде встречаются INT_MIN, INT_MAX
👉 Дока
limits.h — это файл, включаемый в стандартную библиотеку языка программирования Си, который содержит определения характеристик общих типов переменных. Эти значения могут различаться в зависимости от конкретной реализации, но обычно они не меньше диапазона, определенного для конечного представления
🍎Сюда входят максимальные и минимальные значения для основных типов
🍍Особенно часто в коде встречаются INT_MIN, INT_MAX
👉 Дока
💡 Как вы думаете про что принцип Open-closed principle (SOLID)?
❗Свой вариант можете написать в комментариях
Описание
• ПО должно быть открыто для расширения, но закрыто для модификации
• Мы должны легко уметь от наследоваться от какого-то класса, но при этом наше наследование не должно изменять поведение оригинального класса
• Если всё-таки хотим поменять, то меняем в наследнике
❗Свой вариант можете написать в комментариях
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Forwarded from Библиотека нейросетей | ChatGPT, Midjourney, DeepSeek, Sora
Please open Telegram to view this post
VIEW IN TELEGRAM
💣 Как отключить вывод предупреждений о неиспользуемых переменных?
Бывают ситуации, когда приходится пользоваться сторонним кодом (например библиотеками). В нём могут оставаться не используемые переменные, оставленные по той или иной причине. Компилятор на такого рода вещи выдаёт предупреждения
Что бы вывод компиляции не захламлялся данного рода сообщениями, и было проще читать полезные предупреждения, есть специальный флаг (-Wno-unused-variable)
Флаг компилятора -Wno-unused-variable используется для отключения предупреждений, связанных с неиспользуемыми переменными во время компиляции программы
Бывают ситуации, когда приходится пользоваться сторонним кодом (например библиотеками). В нём могут оставаться не используемые переменные, оставленные по той или иной причине. Компилятор на такого рода вещи выдаёт предупреждения
Что бы вывод компиляции не захламлялся данного рода сообщениями, и было проще читать полезные предупреждения, есть специальный флаг (-Wno-unused-variable)
Флаг компилятора -Wno-unused-variable используется для отключения предупреждений, связанных с неиспользуемыми переменными во время компиляции программы
🧨 Для чего нужен принцип подстановки Лисков?
• Принцип подстановки Лисков (Liskov substitution principle) — третий принцип SOLID
• У класса S отнаследованного от T должна быть возможность применяться там, где ожидается T. При этом ожидается, что программа адекватно будет работать
• Идея принципа в том, что контракт (он же функционал), который гарантирует предок должен выполняться и в наследнике
🧨 Как преобразовать std::vector в массив?
Это довольно просто сделать. Достаточно просто разыменовать первый элемент вектора
std::vector<int> vec = {1, 2 , 3};
int* arr = &vrc[0];
Это работает, потому что все элементы std::vector хранятся последовательно
std::vector<int> vec = {1, 2 , 3};
int* arr = &vrc[0];
🔍 Что такое std::span?
std::span — это шаблонный класс-обертка, который предоставляет удобный интерфейс доступа к последовательности элементов, не владея ими. Он позволяет работать с частью или целым массивом, без копирования данных
🛠 Как это работает?
Просто создаём объект std::span, указав начальный указатель на массив и размер, либо контейнер, и получаем легкий доступ к элементам
std::span — это шаблонный класс-обертка, который предоставляет удобный интерфейс доступа к последовательности элементов, не владея ими. Он позволяет работать с частью или целым массивом, без копирования данных
🛠 Как это работает?
Просто создаём объект std::span, указав начальный указатель на массив и размер, либо контейнер, и получаем легкий доступ к элементам
🍔Что делают std::move и std::forward?
❗Если простыми словами, то std::move делает && (r-value), чтобы из всех перегрузок была выбрана именно перегрузка с &&
❗std::forward предназначен для шаблонов, чтобы && передалось в вызываемую из шаблона функцию без изменений. В итоге срабатывает move-семантика и убирается ненужное копирование данных при вызове
❗Если простыми словами, то std::move делает && (r-value), чтобы из всех перегрузок была выбрана именно перегрузка с &&
❗std::forward предназначен для шаблонов, чтобы && передалось в вызываемую из шаблона функцию без изменений. В итоге срабатывает move-семантика и убирается ненужное копирование данных при вызове
🍔 Что такое принцип разделения интерфейса?
Принцип разделения интерфейса (Interface segregation principle) — четвёртый принцип SOLID
❗ Описание
- Множество интерфейсов к разным клиентам гораздо лучше, чем один большой, который покрывает требование всех клиентов
- Снижается связанность в коде и тем самым уменьшает сложность его поддержки
Принцип разделения интерфейса (Interface segregation principle) — четвёртый принцип SOLID
❗ Описание
- Множество интерфейсов к разным клиентам гораздо лучше, чем один большой, который покрывает требование всех клиентов
- Снижается связанность в коде и тем самым уменьшает сложность его поддержки
🍔 В чём заключается смысл принцип инверсии зависимостей?
Принцип инверсии зависимостей (Dependency inversion principle) — пятый принцип SOLID
❗️ Описание
- Лучше зависеть от абстракции, чем от конкретной имплементации
- В ООП лучше передавать интерфейс, чем его реализацию
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👩🚀 Откуда космический корабль в C++?
<=> — это оператор spaceship operator в C++. Он был введен в стандарте C++20 и предназначен для использования в контексте трехзначной операции сравнения
🔎 Этот оператор выполняет сравнение двух выражений и возвращает одно из трех значений:
• Отрицательное значение, если левый операнд меньше правого
• Ноль, если левый операнд равен правому
• Положительное значение, если левый операнд больше правого
<=> — это оператор spaceship operator в C++. Он был введен в стандарте C++20 и предназначен для использования в контексте трехзначной операции сравнения
🔎 Этот оператор выполняет сравнение двух выражений и возвращает одно из трех значений:
• Отрицательное значение, если левый операнд меньше правого
• Ноль, если левый операнд равен правому
• Положительное значение, если левый операнд больше правого