Introduction
The string view class builds itself on the string class. It restricts the operations that can be performed on a string.
A string view is a non-owning reference to a string. It represents a view of a sequence of characters. This sequence of characters can be a C++ string or a C-string. A string view needs the header <string_view>
.
🔑 A string view is a for copying optimized string
From a birds-eye perspective the purpose ofstd::string_view
is to avoid copying data that is already owned by someone else and to allow immutable access to astd::string
like object. The string view is a kind of a restricted string that supports only immutable operations. Additionally, a string viewsv
has two additional mutating operations:sv.remove_prefix
andsv.remove_suffix
.
String views are class templates parameterized by their character and their character trait. The character trait has a default. In contrast to a string, a string view is non-owner and, therefore, needs no allocator.