Q_Assert check of nullpointer
-
Hallo zusammen,
mit Q_ASSERT ist es möglich den nullptr abzufangen?
z.B:class A{ std::unique_ptr <QClass> mReferenceClass ...... void foo(); }; void A::foo() { Q_ASSERT(mReferenceClass) // oder QVERIFY(mReferenceClass != nullptr) // Was wäre hier besser Q_ASSERT(....) oder QVERIFY(....) }
danke in voraus
-
@Galilio said in Q_Assert check of nullpointer:
Hallo zusammen,
mit Q_ASSERT ist es möglich den nullptr abzufangen?
Ja.
[...]
// Was wäre hier besser Q_ASSERT(....) oder QVERIFY(....)QVERIFY kommt aus QtTest, du sollst das nich im normaler Code nutzen.
(Entschuldigung fur mein Deutch :P)
-
@Galilio
soweit ich das in Erinnerung habe ist QVERIFY Teil von QTest und sollte nicht Teil deines finalen Produktes sein -> Q_AssertAber beachte, das Q_Assert == false & release mode führt zu einer Terminierung deines Programmes :)
Edit:
Sniped by @sierdzio 😉(Entschuldigung fur mein Deutch :P)
Better than 90% of all German speakers 🙈
-
@Galilio said in Q_Assert check of nullpointer:
Heisst das: Auf Q_ASSERT() zu verzichten?
Hallo, wie es schon @J-Hilk und @sierdzio geschrieben haben,
Q_ASSERT()
ist eigentlich für "normale" Applikationen entwicklung um Fehler zu finden (sehe https://doc.qt.io/qt-5/qtglobal.html#Q_ASSERT).
QVERIFY()
,QCOMPARE()
uzw. sind fur Unittest gedacht (sehe https://doc.qt.io/qt-5/qttestlib-tutorial1-example.html)