Здравствуйте, fk0, Вы писали:
fk0>Please take a look:
fk0>https://codereview.stackexchange.com/questions/225414/lightweight-read-only-string-implementation-c
Судя по хотелкам нужно скопипастить ATL::CString и добавить поддержку string_view
Здравствуйте, fk0, Вы писали:
fk0>Please take a look:
fk0>https://codereview.stackexchange.com/questions/225414/lightweight-read-only-string-implementation-c
До C++11 в libstdc++ был как раз такой COW std::string. Он и сейчас есть под директивой для случаев, когда нужна обратная совместимость.
Сравнивал с ней?
Здравствуйте, andrey.desman, Вы писали:
AD>Здравствуйте, fk0, Вы писали:
fk0>>Please take a look:
fk0>>https://codereview.stackexchange.com/questions/225414/lightweight-read-only-string-implementation-c
AD>До C++11 в libstdc++ был как раз такой COW std::string. Он и сейчас есть под директивой для случаев, когда нужна обратная совместимость.
AD>Сравнивал с ней?
Он заметно тяжелее одного указателя (его дорого возвращать из функций и передавать, хранить в массивах), он writable с сопутствующими проблемами (запись инвалидирует итераторы), конструирование из литерала всё равно вызывает аллокацию памяти.