gpt4 book ai didi

c++ - 在 C++ 中使用变量的值来引用变量的名称

转载 作者:行者123 更新时间:2023-11-28 00:29:56 25 4
gpt4 key购买 nike

我有一个看起来像这样的函数,

void Parser::executeSearchQuery(string field, 
string value,
Data* &temp,
int arraySize)
{
for (int i = 0; i<arraySize; i++) {
if (temp[i].name==value) {
cout << temp[i].name << endl;
cout << temp[i].type << endl;
cout << temp[i].length << endl;
}
}
}

我希望函数在给定字段中搜索给定值。我希望字符串“字段”成为确定要与值进行比较的字段的变量,但我不确定该怎么做。让 temp[i].field 不起作用,name==value 也不起作用,因为它比较的是字符串,而不是字符串所具有的变量的名称。

我可以使用 if 语句,但我希望有更灵活的东西,以便在我引入更多字段并扩展它时使用。

所以,假设我有以下数据,

temp 0 is John, 1, 5
temp 1 is Matt, 2, 7
temp 2 is Phil, 1, 6

三个字段分别是名称、类型和长度。

我希望该函数将字段名称放入“字段”中,并显示该字段等于“值”的所有结果,这些结果也是由用户提交的。但我不知道如何处理“字段”位。

最佳答案

如果我没理解错的话,您是在请求“可变变量”,例如 PHP 的“$$x”语法。这在 C++ 中不可用,因为它需要知道您在编译时指的是什么变量,而不是运行时。

您唯一的选择是使用正常的条件语句(ifswitch),或者将数据存储在映射(也称为字典、关联数组)中而不是固定的数据结构。

关于c++ - 在 C++ 中使用变量的值来引用变量的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23339163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com