我正在寻找以下PHP代码的C ++等价物
$obj = new stdClass();
$obj->test = "aaaa";
$var = "test";
echo $obj->{$var};
甚至可以在C?我一直在寻找好几个小时而没有运气。
谢谢
答案 0 :(得分:6)
尝试:
#include <unordered_map>
#include <iostream>
#include <string>
using namespace std;
int main() {
unordered_map<string, string> obj;
obj["test"] = "aaaa";
string var = "test";
cout << obj[var] << endl;
}
它不完全相同,因为测试在这两种情况下都是一个字符串。如果“test”和普通测试之间的区别很重要,那么答案会变得有点复杂。
另见:How to choose between map and unordered_map?解释评论中的讨论。