我正在阅读ranges::distance
源代码,但没有明白:
- 为什么是
struct __distance_fn
决赛? void operator&() const = delete
(来源)的目的是什么
我知道 final 类没有派生类,而一元操作符&
是获取对象的指针(或类似的东西)。但我不明白他们在这里到底做了什么ranges::distance
。
也是同样的情况ranges::advance/prev/next
,而其他函子没有这样的细节,例如ranges::begin。
- 为什么
ranges::begin
(和其他函子)没有final
或者删除operator &
?