[原创] 使用 void 库编写动态弱类型 C++
工程的码云链接:
https://gitee.com/wsemad/void
典型的 C++ 工程,几乎总是从设计类型开始;而我很喜欢许多脚本语言那种“随手即来”的感觉,比如我们要描述一个人:
【C++】
class tPerson
{
public:
string c_Name;
int c_Age;
tPerson(string a_Name, int a_Age)
: c_Name(a_Name), c_Age(a_Age)
{ }
}
tPerson o_P(“Mike”, 25);
cout << o_P.c_Name;
【JavaScript】
var o_P = {
c_Name: “Mike”,
c_Age: 25,
};
console.log(o_P.c_Name);
【PHP】
$o_P = array(
‘c_Name’ => ‘Mike’,
‘c_Age’ => 25,
);
echo $o_P[‘c_Name’];
【Python】
o_P = {
“c_Name”: “Mike”,
“c_Age”: 25,
}
print(o_P[“c_Name”]);
看出区别了吧?!用脚本语言,我随手就可以构造出想要的对象,而 C++ 必须先设计类型、定义构造函数…… 等到我实际开始定义这个对象时,已经写了太多代码。
本工程使我们可以:
dic o_P(
key(“c_Name”) >> “Mike”,
key(“c_Age”) >> 33,
etc);
cout << o_P[“c_Name”];
已经很接近脚本语言了!!
目前预览版已经完成,详见 nVoid/test/test.cpp,可以“体验用法”; 在进一步开发前,我决定先公开,以便收集各方意见和建议。