Тут недавно затрагивался вопрос стандартных и кутэшных контейнеров Было высказано

мнение, что лучше использовать стандартные, а кутешные только для работы с апи кутэ

Решил погуглить альтернативное мнение
Нагуглил ответ на этот вопрос

Не могу сказать, что одно противоречит другому, но по ссылке аргументов за кутэшные контейнеры побольше, однако они(аргументы) мне показались какими-то вялыми

Человек в ответе говорит про взаимодействие с апи, причём разбивает это на несколько аргументов за
А остальное особо не впечатляет

Какой итог этому можно подвести?

28 ответов

7 просмотров

"Используйте фреймворки, а не женитесь на них".

Ну тому же QString аналога в STL в общем-то нет Но, в отличие от, например, юникодной стринги раста, QString плох использованием UTF-16

Вообще я затрагивал эту тему в моём семинаре, где-то у нас была тут даже презентаха... Есть и видео, но оно такого страшного качества что туши свет. Ну и можно на эту тему посмотреть видео Джузеппе Д'Анжело, с CppCon. Оно простаннее и не только на эту тему, зато качество гут.

Ещё раз, официальная позиция Qt - не надо в программе использовать контейнеры Qt, если этого не требует взаимодействие с самой библиотекой Qt.

Ilya Zviagin
Вообще я затрагивал эту тему в моём семинаре, гд...

Там вроде тесты были Было бы интересно сравнение с Qt 6

𝚅𝚜𝚎𝚟𝚘𝚕𝚘𝚍
Там вроде тесты были Было бы интересно сравнение с...

Тесты не интересны, если ты о производительности. КОнтейнеры Qt и STD обладают разными свойствами, они не взаимозаменяемы безусловно.

Ilya Zviagin
Тесты не интересны, если ты о производительности. ...

Ну, тут скорее интересны преимущества (или недостатки) новой реализации перед старой

𝚅𝚜𝚎𝚟𝚘𝚕𝚘𝚍
Ну тому же QString аналога в STL в общем-то нет Но...

Вот это да, QString совсем другой, без него как без рук, но это не совсем контейнер. Это строка.

Ilya Zviagin
Вот это да, QString совсем другой, без него как бе...

Std::string-у до qstring как до луны пешком.. и это очень огорчает когда приходится писать чистый c++ код без qt

Юрий Александров
Std::string-у до qstring как до луны пешком.. и эт...

Скажем прямо: не "как до Луны", а "задачи другие"

Юрий Александров
А в чем другие? И то и то строка..

Майбах и УАЗик - тоже машины, и ещё вопрос, где в какую сесть. std::string прочно заняла место крайне быстрой байтопомойки плюс совместимость с Си-строками

Dmitriy [Отпуск]
Майбах и УАЗик - тоже машины, и ещё вопрос, где в ...

Совместимость с C в смысле возможность вернуть const char * c_str?

Dmitriy [Отпуск]
Майбах и УАЗик - тоже машины, и ещё вопрос, где в ...

Но удобная строка в 2021 - это совсем не о std::basic_string, факт

Dmitriy [Отпуск]
Да, без лишних аллокаций и конвертаций

И как это должно выглядить с точки зрения байтопомоек нулевых символов и С-строк? ;)

Юрий Александров
И как это должно выглядить с точки зрения байтопом...

Если мне требуется работать с API OS, принимающим char*/wchar_t*, замены std'шной строке нет :) А вопроса не понял, если честно

Dmitriy [Отпуск]
Если мне требуется работать с API OS, принимающим ...

Ну про байтопомойку это не я сказал.. в моем представлении байтопомойка это массив произвольных байт, а null terminated string это отдельная история.. для легких Latin1 строк в Qt есть соотвествующий класс кстати

Юрий Александров
Ну про байтопомойку это не я сказал.. в моем предс...

Соглашусь, пожалуй. Хотя лишний байт не так критичен, как отсутствие resize_uninitialized

Юрий Александров
Ну у QString есть соотвествующий метод ;)

А в WinAPI есть чудо вида GetData(wchar_t* buf, unsigned long len, unsigned long* written). Чо делать-то?

Dmitriy [Отпуск]
А в WinAPI есть чудо вида GetData(wchar_t* buf, un...

Оно хоть что делает? ;) типа вернуть до N wchar_t и сколько в результате получилось?

Юрий Александров
Оно хоть что делает? ;) типа вернуть до N wchar_t ...

Пишет до len байт и во written возвращает нужный размер; len может быть 0, buf - нет

Юрий Александров
А в чем другие? И то и то строка..

QString для юникода, std::string - для быстрых и компактных строк однобайтовых или двух или 4хбайтовых символов.

Похожие вопросы

Обсуждают сегодня

Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
А сколько часов мак держит зарядку в рабочем режиме? Например мой Redmi Mac (просто наклейка от айфона осталась, налепил) по началу держал часов 5 с парой открытых штормов и ...
Ross
8
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
Ребят, а вот такой вопрос: если я владелец бота анонимного чата, в котором, например, имеются подписки, используя какую-нибудь ЮКассу (или тому подобное, в общем с налогами, в...
Eugene Неелов
8
а давно такие жирные буквы в админке?
Миша
4
Гнева и тупости пост. Как блять можно работать с маркетологами? Их в детстве всех родители случайно цепляли об дверные откосы? Поступила таска, на сайте "лишний счетчик Google...
Igor
4
а у тг (бот) апи вообще есть статусная страница, кстати?
e\\/gen
5
Вообще сейчас эти все провайдеры облаков оборзели. Если тебе нужно 4 ядра и 4 гб., хер где такую конфигурацию найдешь. Суют тебе сразу либо 8гб. либоа сразу 16 гб., они мне на...
Igor
4
Всем привет. А никто не в курсе у бота может быть заблокированна возможность принимать звезды? На одном боте вызываю sendInvoice с нужными параметрами все ок, на втором дела...
John Doe
2
Карта сайта