Spec-Zone.ru › C++

std::pointer_traits<Ptr>::pointer_to

Определено в заголовочном файле <memory>
static pointer
pointer_to( element_type& r );
(1) (с C++11)
(член специализации pointer_traits<Ptr>)
(2)
static pointer
pointer_to( element_type& r ) noexcept;
(с C++11)
(до C++20)
(член специализации pointer_traits<T*>)
static constexpr pointer
pointer_to( element_type& r ) noexcept;
(с C++20)
(член специализации pointer_traits<T*>)

Конструирует указатель, допускающий разыменование, или подобный указателю объект («fancy pointer») к его аргументу.

1) Версия этой функции в неспециализированном шаблоне std::pointer_traits просто вызывает Ptr::pointer_to(r), и если Ptr не предоставляет статический член-функцию pointer_to, создание этой функции является ошибкой времени компиляции.
2) Версия этой функции в специализации std::pointer_traits для типов указателей возвращает std::addressof(r).

Параметры

r - ссылка на объект типа element_type&, за исключением случая, когда элемент_типа является void, в этом случае тип r не определён

Возвращаемое значение

Указатель, допускающий разыменование, на r, типа pointer_traits<>::pointer.

Исключение

1) Неопределённо (обычно совпадает с Ptr::pointer_to).

Примечания

Версия этой функции из библиотеки Boost.Intrusive возвращает pointer(std::addressof(r)) если Ptr::pointer_to не существует.

См. также

addressof
(C++11)
получает фактический адрес объекта, даже если оператор & перегружен
(шаблон функции)
address
(до C++20)
получает адрес объекта, даже если оператор& перегружен
(общедоступный член-функция std::allocator<T>)
to_address
[static] (C++20)(необязательно)
получает сырой указатель из указателя fancy-типа (обратная функция pointer_to)
(общедоступная статическая член-функция)
to_address
(C++20)
получает сырой указатель из типа, подобного указателю
(шаблон функции)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/pointer_traits/pointer_to

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API