c ++相当于$ obj-> {$ var}

时间:2015-11-11 20:50:07

标签: c++ object

我正在寻找以下PHP代码的C ++等价物

$obj = new stdClass();
$obj->test = "aaaa";
$var = "test";
echo $obj->{$var};

甚至可以在C?我一直在寻找好几个小时而没有运气。

谢谢

1 个答案:

答案 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?解释评论中的讨论。