Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Reference參考

ValueType 的要求
頭文件 <boost/any.hpp>

ValueType 的要求

值是這樣一種對象,它們的個體性並不重要,即主要關注的是它們的狀態內容和圍繞於此的行為。值的另一個特徵是它們的粒度:通常細粒度的對象表示系統中較簡單的概念,如數量。

由於值所強調的是它的狀態而不是它的個體性,因此值可以被複製或者賦給另一個對象,這需要顯式或隱式地定義公有的複製構造函數和公有的賦值操作符。 值通常生存於其它的範圍中,如在對像中或代碼塊中,而不是在堆上。因此值通常以變量或通過引用的方式來傳遞和操作,而不是以指針的方式,指針強調的是個體 性和間接性。

any 中所使用的值類型value type有以下特定要求:

  • ValueType 必須是 CopyConstructible [20.1.3]的。
  • ValueType 不一定要是 Assignable [23.1]的。但要求所有形式的賦值都要保證是強異常安全的。
  • ValueType 的析構函數要滿足不拋出異常的安全保證。

頭文件 <boost/any.hpp>

namespace boost {
  class bad_any_cast;
  class any;
  template<typename T> T any_cast(any &);
  template<typename T> T any_cast(const any &);
  template<typename ValueType> const ValueType * any_cast(const any *);
  template<typename ValueType> ValueType * any_cast(any *);
}
Copyright © 2001 Kevlin Henney

PrevUpHomeNext