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