std::addressof
берет объект и получает его адрес, даже если унарный «адрес оператора» (он же &
) был перегружен.
std::to_address
берет указатель, умный или тупой, и возвращаетуказатель.
В основном, при написании библиотеки std, в этом случае для распределителей разработчики находят, что им нужна эта служебная функция.Он небольшой, простой и должен быть написан всякий раз, когда кто-то хочет работать с распределителями.Поэтому они написали легкое предложение добавить его.
Здесь есть несколько ловушек;вы не можете сделать std::addressof(*ptr)
, потому что *ptr
еще не всегда является объектом.Уже есть черта, которая решает эту проблему, но написание кода с использованием черт напрямую раздражает.
Почему, когда они не завершили вашу любимую функцию?Как сеть?
Для сравнения, сеть не является легким предложением.И текущий дизайн зависит от исполнителей (в основном абстракции концепции потоковых пулов).Цель написания высокоуровневой библиотеки, которая обеспечивает производительность C / ASM, созданную вручную, делает написание сетевых трудностей более сложной, чем двухстрочная служебная функция.
Тогда кто-то жалуется, что ему требуется 15 минут, чтобы утвердить полезную служебную функцию,потому что многопользовательский год эпическое предложение еще не в.Несправедливость.
Или что-то в этом роде.