powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Несколько глупых вопросов по std::string и std::wstring
25 сообщений из 125, страница 5 из 5
Несколько глупых вопросов по std::string и std::wstring
    #40024374
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перепутал, сорри
это если конкатенацию изменить с "+=" на "+", то посыпятся маллоки
а ещё wcout за каждый << добавляет malloc. А cout - нет.
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024379
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
tip78
пропущено...

wstring так то malloc делает на каждый чих, в отличие от string, который минимум раз выделяет (но это опять же на линухе тестировалось)
значит все виндузятники обречены быть медленнее линуха ещё и из-за строк?

Кстати, по идее, работа с utf-16 должна быть быстрее чем работа с utf-8. А быстрее всего utf-32.
Так что текстовые процессоры на std::wstring должны обгонять аналоги на std::string. Хотя я тут не уверен, конечно.

У меня - ощущение дежа-вю.

Мне кажется что ты уже поднимал подобные топики. За что будешь топить в этот раз?
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024381
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
petrav
пропущено...

Кстати, по идее, работа с utf-16 должна быть быстрее чем работа с utf-8. А быстрее всего utf-32.
Так что текстовые процессоры на std::wstring должны обгонять аналоги на std::string. Хотя я тут не уверен, конечно.

У меня - ощущение дежа-вю.

Мне кажется что ты уже поднимал подобные топики. За что будешь топить в этот раз?

?! Я просто ответил на пост юзера tip78. А тебе по теме есть что сказать? Или как обычно?
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024387
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Кстати, по идее, работа с utf-16 должна быть быстрее чем работа с utf-8. А быстрее всего utf-32.

С чего вдруг? Кинуть две лопаты быстрее чем одну, а четыре быстрее чем две. Вечный двигатель?
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024388
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
petrav
Кстати, по идее, работа с utf-16 должна быть быстрее чем работа с utf-8. А быстрее всего utf-32.

С чего вдруг? Кинуть две лопаты быстрее чем одну, а четыре быстрее чем две. Вечный двигатель?

Если речь идёт о копировании строк, то конечно utf-8 лидер. Если речь идёт о манипулировании строками, то по сути utf-8 — это лёгкая форма архиватора zip. Даже просто пронавигировать по всем символам utf-8 — это анализ каждого байта.
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024389
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T
petrav
Кстати, по идее, работа с utf-16 должна быть быстрее чем работа с utf-8. А быстрее всего utf-32.

С чего вдруг? Кинуть две лопаты быстрее чем одну, а четыре быстрее чем две. Вечный двигатель?

+1
[spoiler] Раз-два
YouTube Video
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024393
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Я просто ответил на пост юзера tip78
дак вы с ним спелись.
Какой смысл обсуждать вам двоим скорость без прикладного смысла, постановки задачи и ограничений?
))
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024398
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton
пропущено...

У меня - ощущение дежа-вю.

Мне кажется что ты уже поднимал подобные топики. За что будешь топить в этот раз?

?! Я просто ответил на пост юзера tip78. А тебе по теме есть что сказать? Или как обычно?

Ладно извини.
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024437
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Кстати, по идее, работа с utf-16 должна быть быстрее чем работа с utf-8. А быстрее всего utf-32.
Не должна и не будет.
По тривиальной причине, которая никак не доходит до любителей "сильно оптимизированных (по)граничных случаев": любая кодировка юникода обязана работать с составными символами и выполнять различные нормализации.
Это, мопвашуять, естественные алфавиты со своими исторически сложившимися и нелогичными правилами.
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024438
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Даже просто пронавигировать по всем символам utf-8 — это анализ каждого байта.
" Просто оставлю это здесь ".
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024440
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
ЗЫ: В utf8 и (иногда) в utf16, при посимвольной обработке требуется отделять один символ от другого, ибо могут попадаться суррогатные пары. В utf32 такого нет.
Суррогатные пары разрешены только в UTF16 и запрещены как в UTF32, так и в UTF8. Извраты, конечно, существуют, ну так на то они и извраты.
Ну и вообще - матчасть учите.
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024521
teo609
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первые страницы этого топика оставляют впечатление, что считающие себя корифеями того... слегка в своей корифейности засахарились.

В других языках как правило есть стандартный тип строки. Приходящие в С++ из других ЯП сталкиваются с тем, что здесь такого нет.

Наверное можно объяснить нормально, почему типа (класса) стандартной строки в С++ нет.

Потому что стандартной строки нет.
И проще всего это показать на той же самой кириллице, которая в С++ хранится в разных видах, например 3 широко известных.
1. Windows CP-1251. В С++ типы char и string. 1 символ - 1 байт.
2. Windows API UCS-2. В С++ типы wchar_t и wstring. 1 символ - 2 байта.
3. UTF-8. В С++ char и string, но 1 символ может занимать от 1 до 4 байт. В случае с кириллицей в основном 1 или 2 байта.
Разное и переменное число байт на символ и обуславливает разные наборы операций в разных типах строк.

Программист под каждое сочетание входных, хранимых, и выходных кодировок может выбрать самое эффективное преобразование строк в каждом случае. Ради этой эффективности нет стандартной строки, общей для всех кодировок. В других ЯП, где есть стандартный тип строки, выбран один из возможных вариантов кодирования строк, но при работе с другими кодировками обычно приходится преобразовывать их через стандартный тип, что не столь эффективно, даже если и удобно.
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024528
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teo609
что не столь эффективно, даже если и удобно.
переведи.
Удобно, но неэффективно это как?))))
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024530
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teo609,
Проблема в том что вы заботитесь о компе а не о программисте?
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024533
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teo609
корифейности засахарились
получается ты засахарился. 5 раз про эффективность и ниче непонятно)
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024558
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teo609

1. Windows CP-1251. В С++ типы char и string. 1 символ - 1 байт.

Это уже обсуждали. Это - 20й век. Это прошло. Современные требования разработки - это ориентация
софта во внешний мир. Без курса на изоляционизма. Без обособленности.

Подобного рода решения сегодня приводят к неработающим консолям и UI-приложениям и даже (!)
сайтам где еще можно встретить cp866 или koi8r. Интерес такое кодирование представляет
лишь археологический. А damage котороый привносит однобайтная кодировка в будущем
несравненно выше чем какие-то сомнительные экономии которые там находятся.

Американский ASCII пускай так и останется однобайтным в нижней части таблицы.
Он заслужил право там стоять по историческим причинам и по стандартам де-факто.
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024589
teo609
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
teo609

1. Windows CP-1251. В С++ типы char и string. 1 символ - 1 байт.

Это уже обсуждали. Это - 20й век. Это прошло. Современные требования разработки - это ориентация
софта во внешний мир. Без курса на изоляционизма. Без обособленности.

...


Возможно. Я привел те кодировки, с которыми работаю. В CP-1251 я сохраняю логи на машинах пользователей. Компактнее хранится, легко смотрится, треубется редко. Пока еще реально востребованная кодировка, даже если не в мейнстриме.
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024592
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teo609
Компактнее хранится, легко смотрится, треубется редко.
добавь ещё... прогеры и юзвери мучаются.
А требуется редко это плюс или минус?
...
У нас тут прогер решил KOI 8R использовать. Тоже решал наверно в прошлом тысячилетии.
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024615
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teo609В других языках как правило есть стандартный тип строки. Приходящие в С++ из других ЯП
сталкиваются с тем, что здесь такого нет.

Если они не понимаю как строки работают в "других ЯП", то лучше им и не приходить. Потому
что фактической разницы нет. От того, что std::string где-то спрятан за compiler magic и
RTL, он не становится чем-то другим.

teo609В других ЯП, где есть стандартный тип строки, выбран один из возможных вариантов
кодирования строк

И чем это отличается от "выбранного" std::string?

Какой тип строки является "стандартным" в Дельфи? WideString, AnsiString, UTF8String или
тупо String, который является алиасом одного из предыдущих в зависимости от версии и опций
компилятора?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024618
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Какой тип строки является "стандартным" в Дельфи? WideString, AnsiString, UTF8String или
тупо String, который является алиасом одного из предыдущих в зависимости от версии и опций
компилятора?..

Ну как бы Делфи — это моветон.
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024623
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Ну как бы Делфи — это моветон.
Вопроса-то это не отменяет.
А вопрос появился потому, что teoXXX несколько, как бы это помягче выразить ... Загоняется, в общем, на ровном месте.
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024631
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Ну как бы Делфи — это моветон.
это для дремучих только.
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024632
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravНу как бы Делфи — это моветон.

....как и любой другой язык в котором есть "стандартные строки". И чо?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024648
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

petravНу как бы Делфи — это моветон.

....как и любой другой язык в котором есть "стандартные строки". И чо?

Я, например, не вижу практического смысла в таком алиасе:

авторКакой тип строки является "стандартным" в Дельфи? WideString, AnsiString, UTF8String или
тупо String, который является алиасом одного из предыдущих в зависимости от версии и опций
компилятора?..
Зачем оно?
...
Рейтинг: 0 / 0
Несколько глупых вопросов по std::string и std::wstring
    #40024657
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petravЗачем оно?

Это ты у топикстартера спрашивай "зачем в других ЯП существуют стандартные строки?"
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 125, страница 5 из 5
Форумы / C++ [игнор отключен] [закрыт для гостей] / Несколько глупых вопросов по std::string и std::wstring
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]