Size: a a a

2021 June 30

МВ

Макс Воробьев... in dlang.ru
если есть возможность, что строка сдохнет, то копируй/мувь в std::string
источник

Е

Евгений in dlang.ru
То есть вот такой пример на плюсах придется писать через string_view, я верно понял?
https://run.dlang.io/is/1o7A93
источник

МВ

Макс Воробьев... in dlang.ru
лучше через string_view
источник

МВ

Макс Воробьев... in dlang.ru
можно через const std::string &
источник

Е

Евгений in dlang.ru
Чтобы без лишних аллокаций.
источник

EP

Egor Pugin in dlang.ru
это не два владельца, а шаред птр и является единственным владельцем
источник

МВ

Макс Воробьев... in dlang.ru
тогда string_view
источник

Е

Евгений in dlang.ru
Дык shared_ptr может быть много и все они будут владельцами.
источник

Е

Евгений in dlang.ru
Он для этого и придуман собственно, для множественного владения.
источник

EP

Egor Pugin in dlang.ru
нет, там владелец это блок внутри шаредптр с атомиком
источник

Е

Евгений in dlang.ru
Окай, я понял. Давно не кодил в плюсах, все поменялось.
источник

Е

Евгений in dlang.ru
Ты еще скажи, что владелец - это транзисторы в чипе RAM.
источник

МВ

Макс Воробьев... in dlang.ru
раньше пользовались const std::string & . но const std::string &  будет вынужден из всяких char* создать новую строку и копировать содержимое в себя
источник

Е

Евгений in dlang.ru
а string_view не копирует?
источник

МВ

Макс Воробьев... in dlang.ru
string_view это только char* на строку и size_t
источник

МВ

Макс Воробьев... in dlang.ru
в себе он ничего не хранит
источник

EP

Egor Pugin in dlang.ru
в общем, это наружу кажется, что шаред птров много, но владелец это шаред птр и он единственный владелец
источник

Е

Евгений in dlang.ru
Ну значит этот новодел и  есть аналог string в D.
C++17, я даже не знал о его существовании.
источник

МВ

Макс Воробьев... in dlang.ru
он видимо про то, как одну строку менять из разных мест
источник

EP

Egor Pugin in dlang.ru
ну ссылки на строку или вьюшки
источник