在 C++ 中,可以使用一个 vector 来定义两个变量,一个是 string 类型的变量 a,另一个是 enum 类型的变量 b。可以按照以下方式进行定义:

#include <iostream>
#include <vector>
#include <string>

enum MyEnum {
    ENUM_VALUE_1,
    ENUM_VALUE_2,
    ENUM_VALUE_3
};

int main() {
    std::vector<std::variant<std::string, MyEnum>> myVector;
    
    std::string a = 'Hello';
    myVector.push_back(a);
    
    MyEnum b = ENUM_VALUE_2;
    myVector.push_back(b);
    
    // 访问 vector 中的变量
    std::string aFromVector = std::get<std::string>(myVector[0]);
    MyEnum bFromVector = std::get<MyEnum>(myVector[1]);
    
    std::cout << 'a from vector: ' << aFromVector << std::endl;
    std::cout << 'b from vector: ' << bFromVector << std::endl;
    
    return 0;
}

在上面的例子中,我们首先定义了一个 std::vector<std::variant<std::string, MyEnum>> 类型的 myVector,它可以存储 string 类型和 enum 类型的变量。然后,我们分别定义了一个 string 类型的变量 a 和一个 enum 类型的变量 b。接下来,我们将这两个变量分别添加到 myVector 中。

在访问 myVector 中的变量时,我们使用了 std::get 函数来获取指定类型的值。在这个例子中,我们分别将 myVector[0] 转换为 string 类型的变量 aFromVector,将 myVector[1] 转换为 MyEnum 类型的变量 bFromVector。最后,我们输出了这两个变量的值。

注意,std::variant 是 C++17 中引入的类型,如果你的编译器不支持 C++17,可以使用 boost 库中的 variant 类型来代替。

C++ 使用 vector 定义 string 和 enum 变量

原文地址: https://www.cveoy.top/t/topic/lBq4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录