std::string_view — non-owning reference to a string.
1void process(std::string_view sv) {2 std::cout << sv << "\n";3 // sv.size(), sv.substr(), sv.find()4}56// Works with all string types7process("hello"); // const char*8process(std::string("hi")); // std::string9process(std::string_view("x"));
Advantages over std::string:
Warning: Dangling references!
1std::string_view sv;2{3 std::string s = "hello";4 sv = s; // OK5}6// sv is now dangling!
Use when: