我一直在研究该std::string_view
库,并且一直在考虑更改我一直在努力使用的代码库std::string_view
。但是,在我阅读过的许多主题中,有关何时何地使用std::string_view
而不是的主题const std::string &
。我已经看到许多答案说:“何时不需要以null结尾的字符串。” 因此,当我开始在网上搜索“何时需要以null结尾的字符串?” 在这个问题上,我还没有真正有用的答案。
我可以想到一个外部库的示例,您需要链接到该外部库std::string
。在那种情况下,您将需要一个以null结尾的字符串,因为该库需要它。我想另一个例子是,如果您需要修改字符串本身,但是const &
如果我们需要修改它,那么我们就不会通过。
那么什么时候需要使用以null结尾的字符串?
我看过的链接:
5
主要用于与C API交互。
—
胡桃木
@uneven_mark您可以举一个例子吗?
—
Sailanarmo
您链接的第四个问题的公认答案似乎像它回答了这个问题。
—
弗朗索瓦·安德列
@Sailanarmo来自POSIX或其他任何带有
—
胡桃木
const char*
参数的C库的大多数函数。eerorika的答案有一个例子。
@FrançoisAndrieux的答案确实是:“只要API不要求以null终止的字符串?”
—
Sailanarmo