我遇到了以下代码:
for (int i = 0; i < subspan.size(); i++) {
...
int size = size_table[&(subspan[i]) - fullspan.begin()];
...
}
subspan
并且fullspan
都是类型std::span
(实际上absl::Span
来自Google 的 Abseil 库,但它们似乎与 几乎相同std::span
)并且是同一数据数组的视图(fullspan
跨越整个数组)。
这是有效且定义明确的代码吗?-
当运算符与 lhs 指针一起应用时,它似乎取决于将迭代器转换为相应的指针值。