如何返回向量< T>来自v8 c ++函数 [英] how to a return a vector<T> from v8 c++ function
本文介绍了如何返回向量< T>来自v8 c ++函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
struct empDetails {
int empId;
string name;
};
v8::Handle<v8::Value> GetEMPDetails(const v8::Arguments &args)
{
std::vector<empDetails> e1;
e1.push_back(empDetails(23, "paul"));
e1.push_back(empDetails(45, "john"));
// how can I return V8 handle so that I can use this vector in
// my javascript module
return e1;
}
这里我想将e1返回给javascript模块,有人可以让我知道如何这样做?
here I wanna return e1 to javascript module, could someone please let me know how to do this?
推荐答案
使用 v8 :: Array
,例如:
v8::Handle<v8::Array> result = v8::Array::New(e1.size());
for (size_t i = 0; i < e1.size(); i++)
result->Set(i, someObject);
显然你仍然需要转换你的 empDetails
对于向量中的每个条目,实例到 v8 :: Object
。
Obviously you still need to convert your empDetails
instance to v8::Object
for each entry in the vector.
这篇关于如何返回向量< T>来自v8 c ++函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文