Коварные ссылки

В последних трёх итерациях C++ не было ни одной, в которой бы не был добавлен тип-значение (англ. value type), который таковым является только на словах, а на деле это скрытая ссылка. Так, в C++17 был добавлен std::string_view, в C++20 — std::span, а в C++23 — std::mdspan. Вот об этих трёх типах речь и пойдёт в настоящей статье: о том, зачем они нужны, почему они «коварны» и что вообще со всем этим теперь делать простому программисту на C++. [Ещё]