std::pointer_traits<Ptr>::pointer_to
来自 cppreference.com
< cpp | memory | pointer traits
定义在头文件 <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
相同)。[编辑] 备注
此函数的 Boost.Intrusive 库版本 返回 pointer(addressof(r))
如果 Ptr::pointer_to
不存在。
[编辑] 另请参阅
(C++11) |
获取对象的实际地址,即使 & 运算符被重载(函数模板) |
(直到 C++20) |
获取对象的地址,即使 operator& 被重载( std::allocator<T> 的公有成员函数) |
[静态] (C++20)(可选) |
从奇特指针获取原始指针(pointer_to 的逆运算)(公有静态成员函数) |
(C++20) |
从指针状类型获取原始指针 (函数模板) |