Qt standart C ++ kitaplığını kullanmaz , ancak kendi QString, QVector, QMap, ...
Bu, önemli bir tasarım kararı vermeniz gerektiği anlamına gelir: uygulamanın hangi bölümleri QString'i ve hangi bölümler std :: string'i kullanır?
Bazı bölümlerde std :: string ve diğer bölümlerde QString kullanmak, sınırlamalarda QString ve std :: string arasında dönüştürme yapmanız gerektiği anlamına gelir.
Bu ek yükü önlemek için QString'i uygulamanızın her yerinde kullanmaya karar verebilirsiniz. Ancak bu, Qt'ye dayanmayan üçüncü taraf kitaplıkların, örneğin boost'un kullanılmasını çok daha zorlaştırır.
(Aynı şeyin std :: map vs QMap, std :: vector vs QVector, vb. İçin de geçerli olduğunu unutmayın)
Karar vermek hangi parçalar QT'ın türlerini kullanmak ve hangi parçaların STL kullanma büyük etkileri olan çok büyük tasarım kararı vardır. Ve sadece Qt standart C ++ libary kullanmayı reddettiği için.
IMHO, bu karar projeye bağlı olarak her iki şekilde de geçerli olabilir. Kaçınılması gereken soruya cevap veremem.