LINUX.ORG.RU

Qt и STL


0

0

qt можно собрать c stl и с "no-stl". Также вроде как можно в pro-файле написать "CONFIG -= stl" (хотя я пробовал и никакой разницы не заметил). Что лучше с точки зрения скорости работы? Или пох?

anonymous

>qt можно собрать c stl и с "no-stl".

Насколько я знаю, если собираешь с STL, то библиотека контейнеров Qt будет реализована посредством STL, иначе - будет использована собственная реализация "from scratch" от троллей...

>Также вроде как можно в pro-файле написать "CONFIG -= stl" (хотя я пробовал и никакой разницы не заметил). Что лучше с точки зрения скорости работы? Или пох?

Цитирую Qt Assistant: "...stl - STL support is enabled..." - что под этим понимали тролли - ума не приложу. Могу предположить, что можно указать компилятору (флагами) использовать stl или отключить его (как это можно сделать для rtti и exceptions). Возможно имеется в виду именно это. А как на самом деле - ХЗ, напиши вопрос в Qt-Interest...

Sectoid ★★★★★
()
Ответ на: комментарий от Sectoid

> Насколько я знаю, если собираешь с STL, то библиотека контейнеров Qt будет реализована посредством STL, иначе - будет использована собственная реализация "from scratch" от троллей...

ну она в любой случае будет реализована посредством Qt :)
а вот конвертеров Qt<->STL в случае --no-stl уже не будет:

--- qlist.h ---
template <typename T>
class QList
{
......
#ifndef QT_NO_STL
static inline QList<T> fromStdList(const std::list<T> &list)
{ QList<T> tmp; qCopy(list.begin(), list.end(), std::back_inserter(tmp)); return tmp; }
inline std::list<T> toStdList() const
{ std::list<T> tmp; qCopy(constBegin(), constEnd(), std::back_inserter(tmp)); return tmp; }
#endif
--- qlist.h ---

--- qstring.h ---
class Q_CORE_EXPORT QString
{
public:
......
#ifndef QT_NO_STL
static inline QString fromStdString(const std::string &s);
inline std::string toStdString() const;
# ifdef qdoc
static inline QString fromStdWString(const std::wstring &s);
inline std::wstring toStdWString() const;
# else
# ifndef QT_NO_STL_WCHAR
static inline QString fromStdWString(const QStdWString &s);
inline QStdWString toStdWString() const;
# endif // QT_NO_STL_WCHAR
# endif // qdoc
#endif
--- qstring.h ---

// wbr

klalafuda ★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.