如何使用另一个变量声明变量?

时间:2012-06-11 20:46:51

标签: c++

我正在尝试在 C ++ 中创建一个函数,根据已提供的名称创建一个新的整数类型变量

例如

void my_variable(char name)
{
    int "something here" = 1;  // i am figuring out what to write 
    // there so that it makes a variable from that character that i have sent

    cout << "something here";
}

2 个答案:

答案 0 :(得分:4)

使用std::map查看。它允许您创建键值对。在这个实例中,键是name,值将是int。以下代码段显示如何制作地图,填充地图,然后根据键搜索值。 。 。

void my_function(std::string name)
{
    std::map<std::string, int> myMap;
    myMap[name] = 1;  // 

    cout << "Key " << name << " holds " << paramMap.find(name)->second << std::endl;
}

答案 1 :(得分:1)

由于没有人将其作为答案发布,因此有时可以方便地定义宏来创建变量。

#define DEFINE_HELPER(x) Helper helper_##x = Helper(#x)
#define HELPER(x) (&helper_##x)

struct Helper {
    std::string name;
    Helper (const char *s) : name(s) {}
};

DEFINE_HELPER(A);
DEFINE_HELPER(B);

std::cout << HELPER(A)->name << std::endl;