any
class
any
物件會儲存符合建構函式需求的型別實例,或沒有值。 不論它是否有預存實例或沒有值,都稱為 物件的狀態any
。
預存實例稱為 自主值。 如果 any
兩個對象都沒有任何值,或兩者都有包含的值,且這些值都相同,則兩個物件具有相同的狀態。
語法
class any;
成員
建構函式
名稱 | 描述 |
---|---|
any |
建構類型 any 的物件。 |
函式
名稱 | 描述 |
---|---|
emplace |
any 設定值。 |
has_value |
如果 any 具有 值,則傳true 回 。 |
reset |
重設 any 。 |
swap |
交換兩個 any 物件。 |
type |
傳回型別 any 。 |
操作員
名稱 | 描述 |
---|---|
operator= |
將 any 取代為另一 any 個 的複本。 |
any
建構類型 any
的物件。 也包含解構函式。
constexpr any() noexcept;
any(const any& other);
any(any&& other) noexcept;
template <class T>
any(T&& value);
template <class T, class... Args>
explicit any(in_place_type_t<T>, Args&&...);
template <class T, class U, class... Args>
explicit any(in_place_type_t<T>, initializer_list<U>, Args&&...);
~any();
emplace
any
設定值。
template <class T, class... Args>
decay_t<T>& emplace(Args&& ...);
template <class T, class U, class... Args>
decay_t<T>& emplace(initializer_list<U>, Args&&...);
has_value
如果物件有值,any
則傳true
回 。
bool has_value() const noexcept;
operator=
將 any
內容取代為另一 any
個 的複本。
any& operator=(const any& right);
any& operator=(any&& right) noexcept;
template <class T>
any& operator=(T&& right);
參數
right
any
要複製到這個 any
的 。
reset
重設 any
。
void reset() noexcept;
swap
交換兩個 any
物件。
void swap(any& rhs) noexcept;
type
傳回型別 any
。
const type_info& type() const noexcept;
需求
標頭:<any>
命名空間:std
標準: C++17 (至少 /std:c++17
使用 編譯。