`gsl::string_span` 的目的是什么?

2024-06-07

阅读期间微软的实现 https://github.com/Microsoft/GSL of Cpp 核心指南 http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines,我遇到两个问题:

  1. Why is gsl::string_span提供地点gsl::span已经运作良好了吗?
  2. Why is gsl::zstring_span提供地点std::string从 C++11 开始就已经保证以 null 终止?

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


  1. span("Hi") is {'H', 'i', '\0'}然而string_span("Hi") is {'H', 'i'}. string_span检查终止空字符并且不将其包含在范围中。
  2. string是拥有,而跨度不是,所以比较它们就像比较苹果和橘子。zstring_span是一个范围,其约束是最后一个字符为空字符。两者都不span nor string_span有这个约束。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

`gsl::string_span` 的目的是什么? 的相关文章

  • 如何在 Visual Studio 2010 中增强 XAML 设计器?

    当我使用 XAML 设计器时 进入设计器和退出设计器是如此困难和缓慢 当我这样做时 Visual Studio 卡了一段时间 有什么方法可以增强 XAML 设计器和编辑器吗 Ant 保存 XAML 文件时非常慢 这通常意味着您可能有复杂的
  • c和java语言中的换行符

    现在行分隔符取决于系统 但在 C 程序中我使用 n 作为行分隔符 无论我在 Windows 还是 Linux 中运行它都可以正常工作 为什么 在java中 我们必须使用 n 因为它与系统相关 那么为什么我们在c中使用 n 作为新行 而不管我
  • 如何读取扩展文件属性/文件元数据

    因此 我按照教程使用 ASP net core 将文件 上传 到本地路径 这是代码 public IActionResult About IList
  • C++ 中本地类中的静态成员变量?

    我知道我们不能宣布static本地类中的成员变量 但其原因尚不清楚 那么请问有人可以解释一下吗 另外 为什么我们不能访问非static函数内部定义的变量 内部已经定义了局部类 直接在局部类成员函数中 在下面给出的代码中 int main i
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 将内置类型转换为向量

    我的 TcpClient 类接受vector
  • 互斥体实现可以互换(独立于线程实现)

    所有互斥体实现最终都会调用相同的基本系统 硬件调用吗 这意味着它们可以互换吗 具体来说 如果我使用 gnu parallel算法 使用openmp 并且我想让他们称之为线程安全的类我可以使用boost mutex用于锁定 或者我必须编写自己
  • 如何访问另一个窗体上的ListView控件

    当单击与 ListView 所在表单不同的表单中的按钮时 我试图填充 ListView 我在 Form1 中创建了一个方法以在 Form2 中使用 并将参数传递给 Form1 中的方法 然后填充 ListView 当我调试时 我得到了传递的
  • 使用 C 语言使用 strftime() 获取缩写时区

    我看过this https stackoverflow com questions 34408909 how to get abbreviated timezone and this https stackoverflow com ques
  • ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

    我有一个 ASP NET VB NET 日期 我试图获取自 1970 年 1 月 1 日以来的毫秒数 我尝试在 MSDN 中寻找方法 但找不到任何东西 有谁知道如何做到这一点 从 NET 4 6 开始 该方法ToUnixTimeMillis
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • 如何将整数转换为 void 指针?

    在 C 中使用线程时 我面临警告 警告 从不同大小的整数转换为指针 代码如下 include
  • 如何从main方法调用业务对象类?

    我已将代码分为业务对象 访问层 如下所示 void Main Business object public class ExpenseBO public void MakeExpense ExpensePayload payload var
  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • memset 未填充数组

    u32 iterations 5 u32 ecx u32 malloc sizeof u32 iterations memset ecx 0xBAADF00D sizeof u32 iterations printf 8X n ecx 0
  • 使用 GhostScript.NET 打印 PDF DPI 打印问题

    我在用GhostScript NET http ghostscriptnet codeplex com打印 PDF 当我以 96DPI 打印时 PDF 打印效果很好 但有点模糊 如果我尝试以 600DPI 打印文档 打印的页面会被极大地放大
  • 检查Windows控制台中是否按下了键[重复]

    这个问题在这里已经有答案了 可能的重复 C 控制台键盘事件 https stackoverflow com questions 2067893 c console keyboard events 我希望 Windows 控制台程序在按下某个
  • 当另一个线程可能设置共享布尔标志(最多一次)时,是否可以读取共享布尔标志而不锁定它?

    我希望我的线程能够更优雅地关闭 因此我尝试实现一个简单的信号机制 我不认为我想要一个完全事件驱动的线程 所以我有一个工作人员有一种方法可以使用关键部分优雅地停止它Monitor 相当于C lock我相信 绘图线程 h class Drawi

随机推荐

  • 使用 Android 解析 JSON 的最有效方法

    我编写了一些代码来解析我的 Android 程序收到的 Google 距离矩阵 JSON 响应 我唯一感兴趣的数据是 距离 值 节点 我的代码可以工作 但似乎必须有一种更简单的方法来做到这一点 距离值节点在 JSON 中嵌套得很深 但是真的
  • Android - 使用 Intent 打开 PDF 文档关闭后不保存

    我面临的问题是 当尝试保存对使用此 URI 打开的 PDF 文档的更改时内容 xx xxx xxx fileprovider external Download Sync FileName pdf 我所做的任何更改在关闭文档后都不会保存 但
  • 如何解构向量以用作函数参数

    在 Python 中 您可以将列表或元组传递给函数并让函数解压参数 我怎样才能在 Clojure 中做到这一点 下面是一些 Python 代码示例 def f a b c d print a a print b b print c c pr
  • Android 5.0 - 在模块中声明自定义权限

    我在 Android Studio 中有一个模块 我在多个应用程序 均使用不同的密钥签名 中使用该模块来处理 GCM 通知 在 GCM 客户端文档中 他们说要定义包命名空间自定义权限
  • 如何在 C++ 中使用 for 循环创建多个对象?

    我正在尝试使用 for 循环创建多个对象 因为最终我希望该程序根据我的输入创建不同数量的类 我尝试使用之前的答案来写这个question https stackoverflow com questions 5226352 declare a
  • 为什么Asp.net MVC4不能使用SQL Server Session状态存储的cookieless

    全部 这是我在 Asp net MVC4 应用程序中的 Web 配置 我发现如果我将 cookieless 设置为 false 一切都会正常 但如果我不想使用 cookie 那么应用程序就无法工作 当我调试应用程序时 我发现控制器无法接收来
  • 滚动最小值,固定起点[重复]

    这个问题在这里已经有答案了 好的 我想计算数据框中的滚动最小值 向下滚动列 到目前为止 我无法确定该系列的起点并滚动到结尾 我努力了 mins lt c 10 5 6 10 6 6 7 8 2 12 roll min expected lt
  • Knockout.js:有条件绑定div的title属性

    我的页面上有一个 viewModel 它保存一些设备当前状态概述的数据 到目前为止 除了一个问题之外 一切都运行良好 我需要根据 viewModel 中的另一个值设置 div 元素的 title 属性 我知道您基本上可以像这样设置 titl
  • Windows GUI 控件 ID 是如何创建的?

    在 Windows 中 对于每个控件 例如每个对话框 窗口 文本框和复选框等 都会给出一个控件 ID 这个控件id是如何创建的 Windows 中的两个应用程序可以具有相同的控件 ID 吗 有没有办法手动设置 Windows 控件 ID 控
  • NSEvent addGlobalMonitorForEventsMatchingMask:热键拦截

    I wanna intercept hotkeys that begin with Control Shift and ends with a character mandatory I have the following code NS
  • 如何找出英特尔处理器上的指令触及了哪条高速缓存线?

    我读了这篇文章关于 Meltdown Spectre 漏洞利用 http www theregister co uk 2018 01 04 intel amd arm cpu vulnerability 允许利用 CPU 中的硬件错误从内核
  • 非法的break语句(Node.js)

    尝试在 Node js 和 MongoDB 中查找唯一 ID 方法是创建一个 while 循环来查询 MongoDB 中的现有 ID 直到找到唯一值 如果 ID 已被使用 则最后的数字会递增 直到 Mongo 不返回任何内容 一切正常 除了
  • 在 Windows 上使用的 Subversion Server

    哪种 Subversion SVN Server 会建议新手开始使用 Windows Server 操作系统 我想我将在客户端上使用 TortoiseSVN 并且主要进行 NET 开发 UPDATE 很好的建议 我根据投票选择我的答案 我会
  • Android Studio 中没有参考文档

    昨天刚刚出现了一个新问题 当我将鼠标悬停在方法上或按 Ctrl Q 时 我通常会获取该特定方法的文档信息 但现在我只是得到 按 Ctrl QSharedPreferences getLong Following external urls
  • Ruby on Rails 是否会使来自外部域的 Graphql 控制器中的会话无效?

    我有一个在不同域上运行的 Rails graphql 服务 但会话变量似乎在graphql controller rb为零 当我在本地运行服务时 会话和上下文按预期工作 这是一个例子 in graphql controller def ex
  • 如何从不同分支上的本地提交复制文件?

    我提交了一个文件master分支但未推送remote 现在我正在努力feature分支 我希望将该文件复制到feature分支来自master分支 我怎样才能做到这一点 您可以从另一个分支检出特定文件 git checkout master
  • 检查 jar 是否从 shell 运行

    我有一个 java jar 程序 我试图在我的机器启动时运行它 理想情况下 shell 脚本将每 60 秒检查一次以确保 jar 正在运行 我如何检查 jar 是否在 centos 上运行 这似乎不起作用 我当前的 sh 文件 bin ba
  • 获取特定用户的推文 V1.1

    我不太确定从哪里开始 在升级到 API 1 1 版本之前 我能够使用以下命令请求 XML 格式的推文 url http api twitter com 1 statuses user timeline xml screen name TWI
  • 带有 HTML 的 UIActivityViewController

    当我将包含 HTML 内容的字符串作为数组元素传递给UIActivityViewController initWithActivityItems方法中 它不会在选定的 共享 控制器中将其呈现为 HTML 而是呈现 HTML 源 即标记而不是
  • `gsl::string_span` 的目的是什么?

    阅读期间微软的实现 https github com Microsoft GSL of Cpp 核心指南 http isocpp github io CppCoreGuidelines CppCoreGuidelines 我遇到两个问题 W