# std::experimental::observer_ptr<W>::observer_ptr

< cpp‎ | experimental‎ | observer ptr

constexpr observer_ptr() noexcept; constexpr observer_ptr( nullptr_t ) noexcept; | (1) | (库基础 TS v2)
constexpr explicit observer_ptr( element_type* p ) noexcept; | (2) | (库基础 TS v2)
template<class W2> constexpr observer_ptr( observer_ptr<W2> other ) noexcept; | (3) | (库基础 TS v2)
observer_ptr( const observer_ptr& other ) = default; | (4) | (库基础 TS v2) (隐式声明)
observer_ptr( observer_ptr&& other ) = default; | (5) | (库基础 TS v2) (隐式声明)

1) 构造无对应被查看对象的 `observer_ptr` 。
2) 构造查看 `p` 的 `observer_ptr` 。
3) 构造查看 other.get() 的 `observer_ptr` 。此重载仅若 W2* 可转换为 element_type* 才参与重载决议。
4-5) 隐式声明的复制和移动构造函数。构造查看 other.get() 的 `observer_ptr` 。

### 参数

p | - | 指向要查看的对象的指针
other | - | 要复制的另一 `observer_ptr`