tgoop.com/quizcpp/1613
Last Update:
❓ Вопрос на собеседовании
Что такое pimpl idiom в C++ и когда его использовать?
Ответ ⬇️
Pimpl idiom (Pointer to Implementation) — это паттерн, который скрывает реализацию класса за указателем на скрытый тип в заголовочном файле. Это улучшает инкапсуляцию, минимизирует зависимости и ускоряет компиляцию.
Пример использования ⚙️
// MyClass.h
#include
class MyClassImpl; // Forward declaration
class MyClass {
public:
MyClass();
void someFunction();
private:
std::unique_ptr pImpl; // Указатель на скрытую реализацию
};
// MyClass.cpp
#include "MyClass.h"
#include
class MyClassImpl {
public:
void someFunctionImpl() { std::cout someFunctionImpl(); }
// main.cpp
#include "MyClass.h"
int main() {
MyClass obj;
obj.someFunction();
return 0;
}
В этом примере pimpl idiom скрывает реализацию MyClassImpl, что позволяет изменять реализацию без изменения публичного интерфейса, улучшая инкапсуляцию и ускоряя компиляцию.
👩💻
@quizcpp
BY С++ задачи и вопросы
Share with your friend now:
tgoop.com/quizcpp/1613
