Последний вариант стандарта c++ вводит так называемые "объекты точек настройки" ([customization.point.object]), которые широко используются библиотекой диапазонов.
Кажется, я понимаю, что они предоставляют способ написания собственной версии begin
, swap
, data
и т.п., Которую стандартная библиотека находит в ADL. Это верно?
Как это отличается от предыдущей практики, когда пользователь определяет перегрузки, например, begin
ее типа в своем собственном пространстве имен? В частности, почему они являются объектами?