Boost C++ 库

...世界上最受推崇和设计精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu,《C++ 编码规范

函数 get - Boost C++ 函数库
PrevUpHomeNext

函数 get

boost::get — 从给定的 variant 中检索指定类型的值。

提要

// In header: <boost/variant/get.hpp>


template<typename U, typename T1, typename T2, ..., typename TN> 
  U * get(variant<T1, T2, ..., TN> * operand);
template<typename U, typename T1, typename T2, ..., typename TN> 
  const U * get(const variant<T1, T2, ..., TN> * operand);
template<typename U, typename T1, typename T2, ..., typename TN> 
  U & get(variant<T1, T2, ..., TN> & operand);
template<typename U, typename T1, typename T2, ..., typename TN> 
  const U & get(const variant<T1, T2, ..., TN> & operand);
template<typename U, typename T1, typename T2, ..., typename TN> 
  U && get(variant<T1, T2, ..., TN> && operand);

描述

如果未定义 BOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT,则等效于 strict_get。如果定义了 BOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT,则等效于 relaxed_get

建议:在不定义 BOOST_VARIANT_USE_RELAXED_GET_BY_DEFAULT 的新代码中使用 get。 这样,get 提供了更多的编译时检查,并且其行为更接近于 C++ 标准库中的 std::get


PrevUpHomeNext