Namespaces
Variants

std::variant<Typen...>::index

Aus de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (Grundlegende Typen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Koroutinen-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Dreiseitiger Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Dienstprogramme
Relationale Operatoren (veraltet in C++20)
Ganzzahl-Vergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Tausch- und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Allgemeine Vokabular-Typen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
constexpr std::size_t index() const noexcept;
(seit C++17)

Gibt den nullbasierten Index der Alternative zurück, die aktuell von der Variante gehalten wird.

Falls die Variante valueless_by_exception ist, wird variant_npos zurückgegeben.

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

Siehe auch

prüft, ob ein variant derzeit einen gegebenen Typ enthält
(Funktions-Template)
liest den Wert des Variants mit gegebenem Index oder Typ (falls der Typ eindeutig ist), wirft bei Fehler eine Exception
(Funktions-Template)