如何在 C++ 中输入 std::string_view?

How to input a std::string_view in C++?

这是输入(有点)std::string_view变量的正常方式:

#include <bits/stdc++.h>
using namespace std;
int main()
{
    string str; // Still have to use std::string class // Resulting in stack/heap allocation
    getline(cin, str);

    string_view view(str);

    return 0;
}

我想知道有没有什么办法可以直接输入 std::string_view 而不必使用字符串 class (使用堆分配) ???

[我肯定知道一个字符串字面量(比如“Hello”)在编译时直接存储在二进制代码中而不导致任何 stack/heap 分配...所以也许可以通过任何方式将字符串文字直接输入 string_view ??? ]

Note : I want a user input NOT a hard coded string in the code !

不,无法将输入读入字符串视图。

如果你想输入一个字符串,你必须把它存储在某个地方。不一定非要std::string,但这是最简单的选择。