350 читали · 1 год назад
Зачем нужна технология Variable Overdrive в современных мониторах
Рассмотрим подробно, что представляет собой эта технология, как она работает, и почему стала важной частью современных дисплеев, особенно игровых моделей. Что представляет собой овердрайв монитора Овердрайв – это технология, позволяющая увеличить четкость изображений на экране выше заявленного производителем номинального значения. Это может дать ряд преимуществ: Таким образом, эта технология позволяет «выжать» дополнительную производительность из матрицы монитора. Однако обычный овердрайв имеет существенный...
3 месяца назад
override - это спецификатор, который показывает, что метод производного класса переопределяет виртуальный метод базового класса. Если метод помечается как override, компилятор проверяет, что в базовом и производном классе совпадают: - имя функции - тип возвращаемого значения (включая правила ковариантности для возвращаемого типа) - список параметров - cv-квалификаторы - ссылочные-квалификаторы При использовании override спецификатор доступа (public, protected, private) не проверяется. override допустимо использовать в двух случаях: 1. При объявлении метода класса. 2. При определении метода класса сразу же при объявлении класса. Примечания Использование override не является обязательным. Использовать спецификатор virtual при наличии спецификатора override допустимо, но считается излишним. Если деструктор базового класса является виртуальным, то деструктор производного класса также рекомендуется помечать как override. Попытка использовать override при определении метода отдельно от объявления класса приведет к ошибке "virt-specifiers not allowed outside a class definition". class A { public: virtual ~A() = default; virtual A* covariant_test() { return nullptr; } protected: virtual void cv_test() const {} virtual void ref_test() const & {} private: virtual void private_to_public_test() noexcept {} }; class B : public A { public: ~B() override {} B* covariant_test() override { return nullptr; } void private_to_public_test() noexcept override {} protected: //void foo() override; // Ошибка: пропущен квалификтор const void cv_test() const override {} //void ref_test() const override; // Ошибка: пропущен ссылочный квалификатор void ref_test() const & override {} }; int main() { B b; }