Мы используем Clang-Tidy для проведения статического анализа, и мы включили CPP-core-guidelines. < /p>
Согласно предыдущему совету (одним из авторов CPP-core-guidelines), мы имеем абстрактный базовый класс с защищенным дефицитом дефолта и полученным классом (простой Hierarchy) с общедоступным неиспражным депутатом. < /p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p?struct Base {
public:
// all functions here are pure virtual
protected:
~Base() = default;
};
// NOT that final matters here... but cpp-core-guidelines still complains!!!!
struct Derived final : Base {
public:
~Derived(); //implementation irrelevant
};
< /code>
Есть ли какая-либо другая веская причина, почему Clang-tidy при применении [cpp-cor-guidelines], жалуется на это? /> < /blockquote>
Не должно быть возможно удалить с помощью базовой полиморфической (ошибка компилятора), так в чем проблема в этом случае (инструмент плохого подкладки? Плохие рекомендации?). Будет ли новое руководство ... даже защищенные деструкторы ABC должны быть виртуальными, поскольку удаление через полученное оптимизирует базовую виртуальность деструктора в любом случае ? Предупреждения)?
>
Подробнее здесь: https://stackoverflow.com/questions/796 ... -default-p