名稱空間
變體
操作

std::holds_alternative

來自 cppreference.com
< cpp‎ | utility‎ | variant
 
 
 
 
定義於標頭檔案 <variant>
template< class T, class... Types >
constexpr bool holds_alternative( const std::variant<Types...>& v ) noexcept;
(C++17 起)

檢查變體 v 是否持有替代型別 T。如果 TTypes... 中沒有且僅出現一次,則此呼叫格式錯誤。

目錄

[編輯] 引數

v - 要檢查的變體

[編輯] 返回值

如果變體當前持有替代型別 T,則為 true,否則為 false

[編輯] 示例

#include <cassert>
#include <string>
#include <variant>
 
int main()
{
    std::variant<int, std::string> v = "abc";
    assert(not std::holds_alternative<int>(v));
    assert(std::holds_alternative<std::string>(v));
}

[編輯] 參閱

返回 variant 所持可選型別的零基索引
(public member function) [編輯]
根據索引或型別(如果型別唯一)讀取變體的值,出錯時丟擲異常
(function template) [編輯]