Могут ли статические функции быть виртуальными в C++?
В C++ статическая функция-член класса не может быть виртуальной. Кроме того, статические функции-члены класса не могут быть const и volatile.
В примере кода приведены две функции, обе из которых не дадут программе скомпилироваться.
#код
В C++ статическая функция-член класса не может быть виртуальной. Кроме того, статические функции-члены класса не могут быть const и volatile.
В примере кода приведены две функции, обе из которых не дадут программе скомпилироваться.
#код
Инициализация полей класса через конструкторы
В C++ поля класса (также называемые членами класса или атрибутами) могут быть инициализированы через конструкторы класса. Конструкторы — это специальные методы класса, которые вызываются при создании объекта этого класса и могут использоваться для установки начальных значений его полей.
Инициализация полей через конструкторы является хорошей практикой, так как она позволяет установить начальные значения полей объекта сразу при его создании, обеспечивая более надежное и читаемое поведение программы.
#код
В C++ поля класса (также называемые членами класса или атрибутами) могут быть инициализированы через конструкторы класса. Конструкторы — это специальные методы класса, которые вызываются при создании объекта этого класса и могут использоваться для установки начальных значений его полей.
Инициализация полей через конструкторы является хорошей практикой, так как она позволяет установить начальные значения полей объекта сразу при его создании, обеспечивая более надежное и читаемое поведение программы.
#код
Как работает std::unique_ptr?
std::unique_ptr — это умный указатель (smart pointer), предназначенный для управления динамически выделенными объектами. Он обеспечивает автоматическое освобождение памяти при выходе объекта из области видимости или при необходимости.
Принцип работы std::unique_ptr заключается в том, что он владеет указателем на выделенную память и следит за временем жизни этой памяти. Когда объект std::unique_ptr выходит из области видимости, он автоматически освобождает память, на которую он указывает, путем вызова оператора delete для хранящегося указателя.
#вопросы_с_собеседований
std::unique_ptr — это умный указатель (smart pointer), предназначенный для управления динамически выделенными объектами. Он обеспечивает автоматическое освобождение памяти при выходе объекта из области видимости или при необходимости.
Принцип работы std::unique_ptr заключается в том, что он владеет указателем на выделенную память и следит за временем жизни этой памяти. Когда объект std::unique_ptr выходит из области видимости, он автоматически освобождает память, на которую он указывает, путем вызова оператора delete для хранящегося указателя.
#вопросы_с_собеседований
Memory leak (утечка памяти) — это ситуация, при которой программа использует динамическую память, но забывает освободить эту память перед завершением работы или перед повторным использованием. Как результат, выделенная память остается занята в оперативной памяти, несмотря на то, что она уже не используется, и таким образом происходит утечка памяти.
Утечка памяти может привести к постепенному увеличению объема занятой оперативной памяти программой. Если утечка продолжает развиваться, это может привести к уменьшению производительности программы и даже к завершению программы из-за нехватки доступной памяти.
#код
Утечка памяти может привести к постепенному увеличению объема занятой оперативной памяти программой. Если утечка продолжает развиваться, это может привести к уменьшению производительности программы и даже к завершению программы из-за нехватки доступной памяти.
#код
Передача параметров в потоке в зависимости от диапазонов
Последние несколько месяцев автор статьи работал над новой библиотекой C++20 под названием Flux, цель которой — предоставить многие из тех же возможностей, что и Ranges, а также предложить повышенную безопасность, простоту использования и, в некоторых случаях, лучшую эффективность во время выполнения.
Читать статью
Последние несколько месяцев автор статьи работал над новой библиотекой C++20 под названием Flux, цель которой — предоставить многие из тех же возможностей, что и Ranges, а также предложить повышенную безопасность, простоту использования и, в некоторых случаях, лучшую эффективность во время выполнения.
Читать статью
💰 Обзор зарплат: сколько сейчас зарабатывают айтишники
В этой статье обсуждаем самую животрепещущую тему — зарплату. Присоединяйтесь :)
🔗 Читать статью
🔗 Зеркало
В этой статье обсуждаем самую животрепещущую тему — зарплату. Присоединяйтесь :)
🔗 Читать статью
🔗 Зеркало
Через 10 минут начинаем эфир «Собеседование на разработчика: разбор задач и ошибок»
👉 Подключайтесь – https://youtube.com/live/DT2UpJY2rlE?feature=share
Спикер: Алексей Бочкарев | Engineering Manager at FAANG
Что будем обсуждать:
– Комбинаторика и комбинаторные числа: определение и практические примеры
– Основные идеи динамического программирования
– Идеи рекурсии и примеры, включая inorder обход двоичного дерева
– Графы и способы их представления
– Примеры различных типов асимптотической сложности
– Распространенные ошибки в коде, как избегать обращения за границы массива, разыменования нулевого указателя, некорректная логика
🙌🏻 Запись будет опубликована здесь, подписывайтесь – https://yangx.top/proglib_academy
👉 Подключайтесь – https://youtube.com/live/DT2UpJY2rlE?feature=share
Спикер: Алексей Бочкарев | Engineering Manager at FAANG
Что будем обсуждать:
– Комбинаторика и комбинаторные числа: определение и практические примеры
– Основные идеи динамического программирования
– Идеи рекурсии и примеры, включая inorder обход двоичного дерева
– Графы и способы их представления
– Примеры различных типов асимптотической сложности
– Распространенные ошибки в коде, как избегать обращения за границы массива, разыменования нулевого указателя, некорректная логика
🙌🏻 Запись будет опубликована здесь, подписывайтесь – https://yangx.top/proglib_academy
Любите ли вы писать тесты? Или считаете эту работу слишком скучной и бесполезной?
#интерактив
#интерактив
Пример оконного приложения на C++ Qt
В программе окно создается на основе библиотечного класса QFrame. Этот класс является потомком класса QWidget. Так что можно без всяких проблем заменить в программе QFrame на QWidget.
#код
В программе окно создается на основе библиотечного класса QFrame. Этот класс является потомком класса QWidget. Так что можно без всяких проблем заменить в программе QFrame на QWidget.
#код
Когда Вы должны использовать список инициализации?
Ответ:
1) когда в классе есть ссылки,
2) когда есть константы,
3) когда у базового и выведенного класса есть конструктор с набором аргументов.
#вопросы_с_собеседований
Ответ:
1) когда в классе есть ссылки,
2) когда есть константы,
3) когда у базового и выведенного класса есть конструктор с набором аргументов.
#вопросы_с_собеседований
💼🚫 Устроился на работу, но она разонравилась: 8 советов, что делать
Несколько советов, как адаптироваться и понять, стоит ли оставаться или лучше уволиться.
🔗 Читать статью
🔗 Зеркало
Несколько советов, как адаптироваться и понять, стоит ли оставаться или лучше уволиться.
🔗 Читать статью
🔗 Зеркало
С++ - в телеграм !
Хотите бесплатно и эффективно выучить C++ или прокачать свои навыки программирования?
В канале ребята 24/7 пишут код, тестируют разные библиотеки, копаются в их настройках и применяют в работе. А потом делятся с подписчиками.
Ещё мы собрали маст-хэв папку для всех C++ разработчиков: https://yangx.top/addlist/CdBs5DLepLJmZjY6
Учиться бесплатно: @cpluspluc
Хотите бесплатно и эффективно выучить C++ или прокачать свои навыки программирования?
В канале ребята 24/7 пишут код, тестируют разные библиотеки, копаются в их настройках и применяют в работе. А потом делятся с подписчиками.
Ещё мы собрали маст-хэв папку для всех C++ разработчиков: https://yangx.top/addlist/CdBs5DLepLJmZjY6
Учиться бесплатно: @cpluspluc
std::hash
Это структура шаблонного класса, определенная в заголовочном файле. Она предоставляет хеш-функцию для хэширования различных типов данных, включая встроенные и пользовательские.
std::hash используется, например, в ассоциативных контейнерах, таких как std::unordered_map и std::unordered_set, для быстрого доступа к элементам по ключу.
Для пользовательского типа данных требуется явная специализация структуры std::hash для корректной работы хэширования.
#код
Это структура шаблонного класса, определенная в заголовочном файле. Она предоставляет хеш-функцию для хэширования различных типов данных, включая встроенные и пользовательские.
std::hash используется, например, в ассоциативных контейнерах, таких как std::unordered_map и std::unordered_set, для быстрого доступа к элементам по ключу.
Для пользовательского типа данных требуется явная специализация структуры std::hash для корректной работы хэширования.
#код
Часто ли вы прибегаете к помощи нейросетей в работе?
#интерактив
#интерактив
constexpr
constexpr — это ключевое слово в C++, которое используется для указания компилятору, что функция или переменная может быть вычислена во время компиляции. Это позволяет выполнить некоторые вычисления на этапе компиляции, вместо выполнения их во время выполнения программы.
#код
constexpr — это ключевое слово в C++, которое используется для указания компилятору, что функция или переменная может быть вычислена во время компиляции. Это позволяет выполнить некоторые вычисления на этапе компиляции, вместо выполнения их во время выполнения программы.
#код
Очередной #дайджест по С++:
✍️ C++23: совместимость с C
В этом посте рассмотрены две статьи по C++23, которые были написаны из-за совместимости с C.
✍️ Мелочи: недостающая производительность в std::vector
Пост о замене популярного вектора.
✍️ Пять продвинутых техник инициализации в C++: От reserve() до piecewise_construct
В этой статье рассмотрены несколько продвинутых методов инициализации: от reserve() и emplace_back для контейнеров до piecewise_construct и forward_as_tuple для кортежей.
✍️ Индексы с графической структурой для масштабируемого, быстрого, свежего и фильтрованного поиска приближенного ближайшего соседа
✍️ SatDump
Стандартное программное обеспечение для обработки спутниковых данных.
✍️ C++23: совместимость с C
В этом посте рассмотрены две статьи по C++23, которые были написаны из-за совместимости с C.
✍️ Мелочи: недостающая производительность в std::vector
Пост о замене популярного вектора.
✍️ Пять продвинутых техник инициализации в C++: От reserve() до piecewise_construct
В этой статье рассмотрены несколько продвинутых методов инициализации: от reserve() и emplace_back для контейнеров до piecewise_construct и forward_as_tuple для кортежей.
✍️ Индексы с графической структурой для масштабируемого, быстрого, свежего и фильтрованного поиска приближенного ближайшего соседа
✍️ SatDump
Стандартное программное обеспечение для обработки спутниковых данных.
Run-time type identification
Run-time type identification (RTTI) — это механизм, который позволяет программе определить тип объекта во время выполнения (в рантайме). Это означает, что вы можете определить фактический тип объекта, на который указывает указатель или ссылка, даже если его статический тип (определенный на момент компиляции) отличается.
#код
Run-time type identification (RTTI) — это механизм, который позволяет программе определить тип объекта во время выполнения (в рантайме). Это означает, что вы можете определить фактический тип объекта, на который указывает указатель или ссылка, даже если его статический тип (определенный на момент компиляции) отличается.
#код
Рабочие контракты: высокопроизводительная асинхронная система управления задачами без блокировок
TL;DR; Рабочие контракты — это альтернатива очередям MPMC для использования при обработке асинхронных задач. Они обеспечивают превосходную производительность по сравнению с ведущими реализациями очередей MPMC без блокировки, особенно в условиях высокой конкуренции.
Читать статью
TL;DR; Рабочие контракты — это альтернатива очередям MPMC для использования при обработке асинхронных задач. Они обеспечивают превосходную производительность по сравнению с ведущими реализациями очередей MPMC без блокировки, особенно в условиях высокой конкуренции.
Читать статью