← index
cplusplus17.Examples/features/variant/v.cpp
Source: cplusplus17.Examples/features/variant/v.cpp
#include<variant>
#include<iostream>
#include<string>
#include<vector>

using VType = std::variant<int, std::string>;

int main() {
    std::vector<VType> v{10, "Hello", 25};
    for(auto &i : v) {
        std::visit([](const auto &obj) {
            std::cout << obj << "\n";
        }, i);
    }
    
    VType v1;
    
    v1 = 42;
    
    std::cout << v1.index() << ": " << std::get<int>(v1) << "\n";

    v1 = "test";
    
    std::cout << v1.index() << ": " << std::get<std::string>(v1) << "\n";

    
    return 0;
}