c++新特性11 (9)智能指针一”_Compressed_pair类“
生活随笔
收集整理的這篇文章主要介紹了
c++新特性11 (9)智能指针一”_Compressed_pair类“
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
功能類似std::pair類,但是是派生關系, key 類有一個value對象
template <class _Ty1, class _Ty2, bool = is_empty_v<_Ty1> && !is_final_v<_Ty1>> class _Compressed_pair final : private _Ty1 { // store a pair of values, deriving from empty first public:_Ty2 _Myval2;using _Mybase = _Ty1; // for visualizationtemplate <class... _Other2>constexpr explicit _Compressed_pair(_Zero_then_variadic_args_t, _Other2&&... _Val2) noexcept(conjunction_v<is_nothrow_default_constructible<_Ty1>, is_nothrow_constructible<_Ty2, _Other2...>>): _Ty1(), _Myval2(_STD forward<_Other2>(_Val2)...) {}template <class _Other1, class... _Other2> constexpr_Compressed_pair(_One_then_variadic_args_t, _Other1&& _Val1, _Other2&&... _Val2) noexcept( conjunction_v<is_nothrow_constructible<_Ty1, _Other1>, is_nothrow_constructible<_Ty2, _Other2...>>): _Ty1(_STD forward<_Other1>(_Val1)), _Myval2(_STD forward<_Other2>(_Val2)...) {}constexpr _Ty1& _Get_first() noexcept {return *this;}constexpr const _Ty1& _Get_first() const noexcept {return *this;} };總結
以上是生活随笔為你收集整理的c++新特性11 (9)智能指针一”_Compressed_pair类“的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++新特性11 (10)shared_
- 下一篇: c++新特性11 (10)shared_