Применение const_cast к указателю this

В данном примере использование const_cast<Single*>(this) в классе Single безопасно/оправдано?

class Base
{
public:
    Base() {};

    virtual vector<Single*> get() const = 0;
};

class Single : public Base
{
public:
    Single(): Base() {};

    vector<Single*> get() const override
    {
        return vector<Single*>{const_cast<Single*>(this)};
    }
};

class Compound : public Base
{
public:
    Compound() : Base() {};

    vector<Single*> get() const override
    {
        return _vars;
    }

private:
    vector<Single*> _vars{};
};

Ответы (0 шт):