Size: a a a

cxx.Дискуссионная

2020 February 17

d

disba1ancer in cxx.Дискуссионная
vehlwn
В плюсах нет юникода и этих ваших кодпоинтов, кодюнитов, графемных кластеров, глифов, как в нормальных мультииязычных языках.
нет это сильно сказано
источник

v

vehlwn in cxx.Дискуссионная
Егор
бензопила помоги, как мне стрингу с стринг_вью соединить нормально
Стринг вью это вьюха на строку (указатель и длина), которая ниче не умеет. Че ты с ней собрался делать? Нука повтори.
источник

Е

Егор in cxx.Дискуссионная
vehlwn
Стринг вью это вьюха на строку (указатель и длина), которая ниче не умеет. Че ты с ней собрался делать? Нука повтори.
То говорят что const std::string& устарел, то говорят что вьюха ничего не умеет
источник

Е

Егор in cxx.Дискуссионная
ужос
источник

v

vehlwn in cxx.Дискуссионная
Егор
То говорят что const std::string& устарел, то говорят что вьюха ничего не умеет
А что ей уметь? Тебе нужны полнофункцианальные стринги или пара (указатель. длина)?
источник

C

C4aCTbe_EcTb in cxx.Дискуссионная
disba1ancer
ты просто не понял как работает char, это просто целочисленный тип sizeof которого всегда 1, т.е. самый маленький из всех доступных, то что он может обозначать символы это уже фича и символы вполне могут иметь отрицательные числовые коды (например, значение -127 представляет букву 'я')
Спасибо, всё понятно 👍 . Прям спасибо.
источник

Е

Егор in cxx.Дискуссионная
vehlwn
А что ей уметь? Тебе нужны полнофункцианальные стринги или пара (указатель. длина)?
Да я просто`const char *` передам, мне к общему префиксу добавить значений надо
источник

️ ️️ in cxx.Дискуссионная
disba1ancer
ты просто не понял как работает char, это просто целочисленный тип sizeof которого всегда 1, т.е. самый маленький из всех доступных, то что он может обозначать символы это уже фича и символы вполне могут иметь отрицательные числовые коды (например, значение -127 представляет букву 'я')
чар бывает и 16
источник

d

disba1ancer in cxx.Дискуссионная
️ ️️
чар бывает и 16
его sizeof всегда 1, независимо от константы CHAR_BIT, последняя просто определяет количество бит в чаре (по сути сколько бит в байте на данной платформе с использованием данного компилятора)
источник

️ ️️ in cxx.Дискуссионная
ну так

есть архитектура где чар 16
источник

d

disba1ancer in cxx.Дискуссионная
️ ️️
ну так

есть архитектура где чар 16
а я где-то написал что char это железобетонно 8 бит?
источник

Е

Егор in cxx.Дискуссионная
️ ️️
ну так

есть архитектура где чар 16
16 байт?
источник

v

vehlwn in cxx.Дискуссионная
Егор
Да я просто`const char *` передам, мне к общему префиксу добавить значений надо
Ну напиши экспрешен темпляйт, который строит дерево вывода и захватывает все свои операнды-стринги, стринг вьюхи, конст чары*, и при вызове оператор std::string эвалюирует все конкатенации и возвращает тотальный результат.
источник

d

disba1ancer in cxx.Дискуссионная
Егор
16 байт?
да уж непонятно ещё и в каких попугаях...
источник

Е

Егор in cxx.Дискуссионная
vehlwn
Ну напиши экспрешен темпляйт, который строит дерево вывода и захватывает все свои операнды-стринги, стринг вьюхи, конст чары*, и при вызове оператор std::string эвалюирует все конкатенации и возвращает тотальный результат.
да мне и просто const char * хватит
источник

v

vehlwn in cxx.Дискуссионная
Егор
Да я просто`const char *` передам, мне к общему префиксу добавить значений надо
- std::string: умеет конкатенироваться, может копироваться.
- std::string_view: ничего не умеет, знает свою длину.
источник

d

disba1ancer in cxx.Дискуссионная
vehlwn
- std::string: умеет конкатенироваться, может копироваться.
- std::string_view: ничего не умеет, знает свою длину.
чё ты к нему пристал?
источник

Е

Егор in cxx.Дискуссионная
vehlwn
- std::string: умеет конкатенироваться, может копироваться.
- std::string_view: ничего не умеет, знает свою длину.
мда уж, хоть бы от двух итераторов он умел рождаться, совсем неудобный какой-то
источник

️ ️️ in cxx.Дискуссионная
Егор
16 байт?
источник

Е

Егор in cxx.Дискуссионная
Ну и, 16 бит, sizeof(char) == 1
источник