std::holds_alternative
來自 cppreference.com
定義於標頭檔案 <variant> |
||
template< class T, class... Types > constexpr bool holds_alternative( const std::variant<Types...>& v ) noexcept; |
(C++17 起) | |
檢查變體 v 是否持有替代型別 T
。如果 T
在 Types...
中沒有且僅出現一次,則此呼叫格式錯誤。
目錄 |
[編輯] 引數
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) | |
(C++17) |
根據索引或型別(如果型別唯一)讀取變體的值,出錯時丟擲異常 (function template) |