SL.str.2: Use std::string_view or gsl::span<char> to refer to character sequences

SL.str.2:使用std::string_view或gsl::span<char>参照字符序列

 

Reason(原因)

std::string_view or gsl::span<char> provides simple and (potentially) safe access to character sequences independently of how those sequences are allocated and stored.

std::string_view或者gsl::span<char>可以简单且(潜在地)安全地访问字符串而不需要关心这些序列是如何分配和存储的。 

 

Example(示例)

vector<string> read_until(string_view terminator);

void user(zstring p, const string& s, string_view ss)
{
auto v1 = read_until(p);
auto v2 = read_until(s);
auto v3 = read_until(ss);
// ...
}

Note(注意)

std::string_view (C++17) is read-only.

std::string_view(C++17)是只读的。

 

Enforcement(实施建议)

???

 

原文链接

​https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#slstr2-use-stdstring_view-or-gslspanchar-to-refer-to-character-sequences​

 

新书介绍

​《实战Python设计模式》​​是作者最近出版的新书,拜托多多关注!

C++核心准则​​SL.str.2:使用std::string_view或者gsl::span<char>参照字符序列_char

本书利用Python 的标准GUI 工具包tkinter,通过可执行的示例对23 个设计模式逐个进行说明。这样一方面可以使读者了解真实的软件开发工作中每个设计模式的运用场景和想要解决的问题;另一方面通过对这些问题的解决过程进行说明,让读者明白在编写代码时如何判断使用设计模式的利弊,并合理运用设计模式。

对设计模式感兴趣而且希望随学随用的读者通过本书可以快速跨越从理解到运用的门槛;希望学习Python GUI 编程的读者可以将本书中的示例作为设计和开发的参考;使用Python 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础,迅速构建自己的系统架构。

 


 

觉得本文有帮助?请分享给更多人。

关注微信公众号【面向对象思考】轻松学习每一天!

面向对象开发,面向对象思考!

 

C++核心准则​​SL.str.2:使用std::string_view或者gsl::span<char>参照字符序列_char_02