[Development] QList

Marc Mutz marc.mutz at kdab.com
Sat Mar 18 22:33:32 CET 2017


On Saturday 18 March 2017 19:30:35 Thiago Macieira wrote:
> class QStringView               - has all the const functions
> class QString : public QStringView      - adds the mutating functions
> class QtExclusive::QString : public QString

No inheritance. These things have no is-a relationship whatsoever.

Example: QString cannot inherit QStringView because QStringView::trimmed() 
returns a QStringView while QString::trimmed() needs to return a QString. 
These return values aren't covariant, either, because a) they're not pointers, 
so C++ doesn't let you, b) the functions aren't virtual so C++ won't let you 
and c) the QStringView implementation has no idea how to manage QString's 
memory.

Thanks,
Marc

-- 
Marc Mutz <marc.mutz at kdab.com> | Senior Software Engineer
KDAB (Deutschland) GmbH & Co.KG, a KDAB Group Company
Tel: +49-30-521325470
KDAB - The Qt, C++ and OpenGL Experts



More information about the Development mailing list