我有办法
void func(int bar, std::string_view sv = {})
Run Code Online (Sandbox Code Playgroud)
但是现在我想使用以下方法设置sv的默认值
const char def = 'X'
Run Code Online (Sandbox Code Playgroud)
我该如何实现?谢谢!
单程:
const char def = 'X';
void func(int bar, std::string_view sv = {&def, 1});
Run Code Online (Sandbox Code Playgroud)
请注意,对于没有零终止符的字符串std::string_view sv = {&def, 1}产生a std::string_view,这可能会或可能不会出现问题。
如果您需要以0结尾的std::string_view,则:
std::string_view const def_sv = "X";
void func(int bar, std::string_view sv = def_sv);
Run Code Online (Sandbox Code Playgroud)
要不就:
void func(int bar, std::string_view sv = "X");
Run Code Online (Sandbox Code Playgroud)