boost 中的ref库
reference_wrapper、is_reference_wrapper、unwrap_reference、ref、cref是这个库中涉及的五个主要对象。其中reference_wrapper包含了对一个类型T的对象的引用,主要用于向将传值的函数模板(算法)传入引用。is_reference_wrapper是对类型T的判定,由value的值来反映。unwrap_reference如果类型T能够reference_wrapper,那么type 反映的就是T::type,否则就反映为T.
ref是把T类型生成一个 reference_wrapper对象,cref生成一个含const &的 reference_wrapper对象。
reference_wrapper、is_reference_wrapper、unwrap_reference、ref、cref是这个库中涉及的五个主要对象。其中reference_wrapper包含了对一个类型T的对象的引用,主要用于向将传值的函数模板(算法)传入引用。is_reference_wrapper是对类型T的判定,由value的值来反映。unwrap_reference如果类型T能够reference_wrapper,那么type 反映的就是T::type,否则就反映为T.
ref是把T类型生成一个 reference_wrapper对象,cref生成一个含const &的 reference_wrapper对象。