我需要编写一些函数返回数组中的范围(如果您愿意,可以假设它们被指定为起始位置和长度)。我不能返回一个元组,所以我需要返回一些其他类型(无论如何这也许是个好主意)。现在,我想返回既是(某种程度上)标准的东西,又不会因为 vtables、复杂的 ctors 等而导致性能损失。
想到的选项是:
std::pair<unsigned>
(或std::pair<size_t>
)。- 包装两个
unsigned
s(或size_t
's)的结构。 - 滚动我自己的 Range 类,用实用方法对其进行修饰。
我尝试寻找合适的 Range 类,但找不到。标准库/STL 中没有任何内容使用范围类,这有点奇怪。
有更好的选择吗?如果没有,您会推荐以上哪一项?