【问题标题】:What purpose does `gsl::string_span` aim at?`gsl::string_span` 的目的是什么?
【发布时间】:2018-03-18 14:22:16
【问题描述】:

在阅读Microsoft's implementationCpp Core Guidelines 期间,我遇到了两个问题:

  1. 为什么在gsl::span 已经很好用的地方提供gsl::string_span
  2. 为什么gsl::zstring_span 提供,而std::string 自C++11 以来已保证为空终止?

任何说明情况都将受到高度赞赏。

【问题讨论】:

标签: c++ c++11 library-design cpp-core-guidelines


【解决方案1】:
  1. span("Hi"){'H', 'i', '\0'}string_span("Hi"){'H', 'i'}string_span 检查终止空字符并且不将其包含在跨度中。
  2. string 拥有而 span 不是,所以比较它们就是比较苹果和橘子。 zstring_span 是一个跨度,其约束条件是最后一个字符是空字符。 spanstring_span 都没有这个限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多