【发布时间】:2018-05-21 22:40:35
【问题描述】:
除了 std::string_view 方法之外,std::string_view 比 char* 有什么优势吗?
如果不使用string_view 的任何方法,是否有任何理由将char* 重新分解为string_view?
【问题讨论】:
-
这里有几个原因:
char*需要调用strlen,这是 O(n),而string_view可以给你恒定时间的长度(哦,等等,但是这是std::string_view方法的一部分)。string_view可以引用非空终止字符串,char*通常不能。这个列表可以继续下去。 -
像往常一样,像这样广泛的问题,答案是,“这取决于” - 具体来说,“取决于你需要做什么。”
标签: c++ refactoring c++17 c-strings string-view