std::pointer_traits<Ptr>::pointer_to
来自cppreference.com
< cpp | memory | pointer traits
动态内存管理
|
std::pointer_traits
成员函数 | ||||
pointer_traits::pointer_to
(C++11)
|
||||
(C++20)(可选)
|
在标头
<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*>
特化的成员) |
|
构造一个指向其参数的可解引用指针或类指针对象(“缀饰指针”)。
1) 此函数于非特化 std::pointer_traits
模板的版本简单地调用 Ptr::pointer_to(r) ,且若 Ptr
不提供静态成员函数
pointer_to
,则此函数的实例化为编译时错误。参数
r | - | element_type&
类型的到对象引用,除非 element_type 为 void
,此情况下 r 的类型未指定
|
返回值
指向 r
的可解引用指针,拥有 pointer_traits<>::pointer 类型。
异常
1) 未指定(通常同 Ptr::pointer_to )
注意
若 Ptr::pointer_to 不存在,则此函数的 Boost.Intrusive 库版本 返回 pointer(std::addressof(r)) 。
参阅
(C++11)
|
获得对象的实际地址,即使其重载了 & 运算符 (函数模板) |
(C++20
前)
|
获得对象的地址,即使重载了 operator& ( std::allocator<T>
的公开成员函数) |
[静态]
(C++20)(可选)
|
从缀饰指针获得裸指针( pointer_to 的反函数) (公开静态成员函数) |
(C++20)
|
从指针式类型获得裸指针 (函数模板) |