C++ 如何简化复杂的API访问(v8)
每次我想从v8:对象中获得与C兼容的值时,我必须执行以下操作:C++ 如何简化复杂的API访问(v8),c++,api,macros,inline,C++,Api,Macros,Inline,每次我想从v8:对象中获得与C兼容的值时,我必须执行以下操作: Local<Object> obj = args[0]->ToObject(); obj->Get(String::New("property"))->NumberValue(); localobj=args[0]->ToObject(); obj->Get(String::New(“property”)->NumberValue(); 要实现此快捷方式,我可以使用助手: obj->Get(
Local<Object> obj = args[0]->ToObject();
obj->Get(String::New("property"))->NumberValue();
localobj=args[0]->ToObject();
obj->Get(String::New(“property”)->NumberValue();
要实现此快捷方式,我可以使用助手:
obj->Get(strg("property"))->NumberValue();
Local<Value> strg(const char* str) {
return String::New(str);
}
obj->Get(strg(“属性”)->NumberValue();
本地strg(常量字符*str){
返回字符串::New(str);
}
但这并不是真正的进步。C(++)是否为此用例(宏)提供了工具
如果是,它会是什么样子。可能是这样的:
#define PROPERTY(object, name) \
object->Get(String::New(name))
用法:
Local<Object> obj = args[0]->ToObject();
PROPERTY(obj, "property")->NumberValue();
Local<Object> obj = args[0]->ToObject();
NUMBER_VALUE(obj, "property");
用法:
Local<Object> obj = args[0]->ToObject();
PROPERTY(obj, "property")->NumberValue();
Local<Object> obj = args[0]->ToObject();
NUMBER_VALUE(obj, "property");
localobj=args[0]->ToObject();
数值(obj,“财产”);