и посмотреть медиа
C/C++ - вопросы собесов
и посмотреть медиа
Вопросы собесов C/C++.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Вопросы для собеседований по C/C++.
🤔 Что известно о истории умных указателей? - Первым в стандарт попал auto_ptr в C++98 — оказался неудобным и небезопасным. - Затем Boost предложил shared_ptr, scoped_ptr, weak_ptr. - С выходом C++11 появились современные unique_ptr, shared_ptr, weak_ptr. - auto_ptr был объявлен устаревшим и позже удалён (в C++17). - Современные умные указатели активно используются для автоматического управления памятью и соблюдения RAII. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚Базу знаний
Открыть канал и посмотреть медиа🤔 Как вы будете реализовывать Singletone ? Это шаблон проектирования, который гарантирует, что класс имеет только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру. Существует несколько способов реализации Singleton, включая ленивую инициализацию, использование static и многопоточную безопасность. 🚩Основные методы реализации 🟠Ленивая инициализация (Lazy Initialization) При ленивой инициализации объект создается только при первом обращении к нему. class Singleton { public: static Singleton& getInstance() { static Singleton instance; return instance; } // Удаляем конструкторы копирования и присваивания Singleton(const Singleton&) = delete; Singleton& operator=(const Singleton&) = delete; private: Singleton() {} // Приватный конструктор }; 🟠Инициализация при запуске (Eager Initialization) При инициализации при запуске объект создается сразу при загрузке программы. class Singleton { public: static Singleton& getInstance() { return instance; } Singleton(const Singleton&) = delete; Singleton& operator=(const Singleton&) = delete; private: Singleton() {} static Singleton instance; // Статический экземпляр }; Singleton Singleton::instance; 🟠Многопоточная безопасность (Thread-safe Singleton) Используя std::call_once и std::once_flag, можно обеспечить безопасность при доступе из нескольких потоков. #include class Singleton { public: static Singleton& getInstance() { std::call_once(initInstanceFlag, &Singleton::initSingleton); return *instance; } Singleton(const Singleton&) = delete; Singleton& operator=(const Singleton&) = delete; private: Singleton() {} static void initSingleton() { instance = new Singleton(); } static Singleton* instance; static std::once_flag initInstanceFlag; }; Singleton* Singleton::instance = nullptr; std::once_flag Singleton::initInstanceFlag; 🚩Плюсы ➕Ленивая инициализация Экономит ресурсы, так как объект создается только при необходимости. ➕Инициализация при запуске Простая реализация, не требует дополнительных проверок, но объект создается даже если не используется. ➕Многопоточная безопасность Обеспечивает корректное создание объекта в многопоточной среде, но сложнее в реализации. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!
Tienda de telefonía móvil con una garantía de 1 mes a un año. Una amplia gama de teléfonos inteligentes y aparatos a precios favorables.
Canal sobre tecnología: noticias, gadgets, ITTrends y consejos útiles en Telegram.
Sencillo.IT- Lecciones y asesoramiento. Conocimientos básicos de computación, software y web en Telegram.