Size: a a a

2021 April 21

NL

Nick Linker in rust_offtopic
кек 😊
источник

EG

Emmanuel Goldstein in rust_offtopic
Ты что, не байтоёб штоле?
источник

CD

Constantine Drozdov in rust_offtopic
катастрофа при ошибке, почему просто не передать длину
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
не если ты планируешь гигабайты/сек строк кидать тогда конеш другое дело
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
можно и потюнить
источник

NL

Nick Linker in rust_offtopic
Кстати, а почему я не могу нулевых символов в строке держать?
Ну то есть вообще могу, но сишнике мне не разрешают.
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
можешь. Я просто предложил самый простой вариант
источник

CD

Constantine Drozdov in rust_offtopic
Потому что кому-то в 70е показалось хорошей идеей использовать 0 как конец строки (в std::string можно держать 0, кстати)
источник

Т8

Т-34 85 in rust_offtopic
у каждого способа есть минусы и плюсы
источник

NL

Nick Linker in rust_offtopic
У std::string внутреннее представление — это массив wchar-ов?
источник

CD

Constantine Drozdov in rust_offtopic
char-ов, это std::basic_string<char>
источник

CD

Constantine Drozdov in rust_offtopic
для wchar-ов называется wstring
источник

CD

Constantine Drozdov in rust_offtopic
там внутри три указателя (begin, end, capacity) + SSO буфер
источник

CD

Constantine Drozdov in rust_offtopic
по сути это std::vector в реализации для примитивных типов и с SSO
источник

Т8

Т-34 85 in rust_offtopic
то есть, достаточно достаточно взять адрес у строки и кастануть к char**?
источник

CD

Constantine Drozdov in rust_offtopic
и получить UB? да
источник

Т8

Т-34 85 in rust_offtopic
там не null terminated?
источник

CD

Constantine Drozdov in rust_offtopic
есть реализации строк (винда такое любит, см. ATL::CString), которые просто так умеют, но только с const
источник

NL

Nick Linker in rust_offtopic
В плюсах раньше каждая уважающая себя библиотека тащила свой класс строк: MFC, QT, ATL, ещё были какие-то fbstring, и конечно самописные обёртки над char *.
Весело было тогда разработчикам...
источник

CD

Constantine Drozdov in rust_offtopic
MFC использует ATL-ную :)
источник