切片
切片 | |
---|---|
术语名称 | 切片 |
英语名称 | slice |
切片(slice)是一个操作,在物理结构为数组、逻辑结构为线性表的结构上,如静态数组和动态数组。 相当于在线性表的一部分上使用一个全新的索引。
有时可以扩展到线性表逻辑结构,但通常叫做“切片”时只允许数组。一般也不会说一个逻辑上不是线性表的数组上的切片。
对于有垃圾回收的语言,切片通常可以自由地使用原数据,但是对于没有的,一般就会出现不拥有数据所有权的“视图类型”。
语言实例
切片 | |||
---|---|---|---|
语言 | 版本/库 | 对应内容 | 说明 |
C | C89 | 指针+长度 | - |
C++ | C++20 | std::span
|
STL |
C++ | Boost | boost::span
|
boost.core |
实现实例
libcxx: libc/src/__support/CPP/span.h
libstdc++: libstdc++-v3/include/std/span