Извините за странный заголовок, не стесняйтесь придумать лучший, если можете придумать.
Вот моя проблема.
У меня есть структура, которая выглядит примерно так:
QObject -> MyBase -> MyDerived
У меня тогда естьфункция, которая будет принимать любой из производных типов как QPointer;
void function(QPointer<MyBase> base) {
...
}
Теперь проблема в том, что я не могу передать QPointer<MyDerived>
в эту функцию, что я бы сделал, если бы использовал стандартные указатели.Нужно ли приводить этот объект, чтобы он соответствовал функции?Или я должен просто использовать нормальные указатели?
Кроме того, кто-нибудь знает стандартное поведение при выделении объекта, который выходит из строя?Должны ли вы всегда делать это в блоке try или оборачивать его во что-то, чтобы проверить, является ли оно нулевым или нет?Я прочитал документацию по Qt, и они сказали, что большинство их классов возвращали нулевое значение, если его не удалось выделить.Когда это утверждение верно и что я могу сделать, если я не хочу использовать try-catch?