Применение 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{};
};