gpt4 book ai didi

c++ - 核心 cpp 指南中 f(T*, int) 接口(interface)与 f(span) 接口(interface)的含义

转载 作者:行者123 更新时间:2023-11-30 00:44:47 24 4
gpt4 key购买 nike

P3核心 cpp 指南在其执行部分提供了以下模式:

f(T*, int) interfaces vs. f(span) interfaces

任何人都可以向想要了解现代 C++ 的固执的老 C 程序员解释这意味着什么吗?

最佳答案

P3 部分是关于“表达意图”的。因此,这个想法是哪一个更清楚地表达了意图。

考虑 f(T*, int) .我们不得不问:

  1. 指针指向单个对象还是数组?
  2. 整数是代表数组大小还是其他?

函数签名中的信息没有很好地表达。它必须通过其他方式获得,例如文档、命名约定等

另一方面,当我们看到 f(span<T>)有一个明确且不容置疑的意图:该函数接受一个数组(通过 span<T> 对象引用)。意图很明确,因为这是 span 的唯一目的。 ,不像指针是多用途的。

所以,f(span<T>)如果意图是采用数组,则可以更好地说明意图。

关于c++ - 核心 cpp 指南中 f(T*, int) 接口(interface)与 f(span<T>) 接口(interface)的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47091021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com