Namensräume
Varianten
Aktionen

std::variant<Types...>::index

Von cppreference.com
< cpp‎ | utility‎ | variant
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
 
constexpr std::size_t index() const noexcept;
(seit C++17)

Gibt den nullbasierten Index des aktuell vom Variant gehaltenen Alternativtyps zurück.

Wenn der Variant valueless_by_exception ist, wird variant_npos zurückgegeben.

[bearbeiten] Beispiel

#include <iostream>
#include <string>
#include <variant>
 
int main()
{
    std::variant<int, std::string> v = "abc";
    std::cout << "v.index = " << v.index() << '\n';
    v = {};
    std::cout << "v.index = " << v.index() << '\n';
}

Ausgabe

v.index = 1
v.index = 0

[bearbeiten] Siehe auch

prüft, ob ein variant derzeit einen gegebenen Typ hält
(function template) [bearbeiten]
liest den Wert des variants anhand des Index oder des Typs (wenn der Typ eindeutig ist), wirft bei Fehler
(function template) [bearbeiten]