1

我正在尝试在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";
}
4

2 回答 2

4

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

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;
}
于 2012-06-11T20:49:14.073 回答
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;
于 2012-06-11T21:13:03.687 回答