static pointer pointer_traits::pointer_to(element_type& r); // (1) C++11
static constexpr pointer pointer_traits::pointer_to(element_type& r); // (1) C++20
static pointer pointer_traits<T*>::pointer_to(element_type& r) noexcept; // (2) C++11
static constexpr pointer pointer_traits<T*>::pointer_to(element_type& r) noexcept; // (2) C++20
概要
変数へのポインタを取得する。
戻り値
- (1) : 型
Ptr
が静的メンバ関数pointer_to()
を持っていればPtr::pointer_to(r)
を呼び出してその戻り値を返す。持っていなければ、この関数のインスタンス化は不適格となる。 - (2) :
addressof(r)
を返す。
例
#include <memory>
#include <iostream>
int main()
{
int value = 3;
int* p = std::pointer_traits<int*>::pointer_to(value);
std::cout << *p << std::endl;
}
出力
3
バージョン
言語
- C++11
処理系
- Clang: 3.0
- GCC: 4.7.3
- ICC: ??
- Visual C++: 2012, 2013