string_view, потом увеличиваем строку, происходит реаллокация, но стринг_вью указывает на старую память. Пока не могу добиться никаких ошибок от валгринда или санитайзеров. Полагаться только на себя?
string s{"hi"};
string_view v{s};
cout << static_cast<void*>(&s[0]) << " " << v << endl;
s += "000000000000000000000000000000000";
cout << static_cast<void*>(&s[0]) << " " << v << endl;
Статический анализатор должен помочь
посоветуешь? попробовал cppcheck, тоже молчит
безальтернативный вариант сейчас?
Он самый мощный
советовали пвс студию для обнаружения бага, но похоже он тоже не помогает. во всяком случае, на годболте ни он, ни сонар проблем не обнаружили. https://godbolt.org/z/KzP6Wzv1f
Обсуждают сегодня