gpt4 book ai didi

c++ - gsl::multi_span 的用途是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:33:29 25 4
gpt4 key购买 nike

C++ 核心指南提到跨度,而不是“多跨度”。但是 - 我看到微软的 GSL 实现有一个 multi_span class

template <
typename ValueType,
std::ptrdiff_t FirstDimension,
std::ptrdiff_t... RestDimensions
>
class multi_span { ... };

所以,显然这是某种多维版本的 gsl::span。但那是什么意思呢?为什么我们需要这个多维跨度,或者更确切地说 - 我们什么时候使用它?我似乎找不到关于此的任何文档。

最佳答案

简而言之,它是一 block 连续的内存,代表多维数组。

这是一个使用示例:

int data[6] = {0, 1, 2, 3, 4, 5};
multi_span<int, 2, 3> span{data, 6};
std::cout << span[1][1] << '\n'; //Outputs 4

从链接源来看,它似乎也支持运行时边界,但我不确定这些语法是否正确。

关于c++ - gsl::multi_span 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45201524/

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