如何返回向量< T>来自v8 c ++函数 [英] how to a return a vector<T> from v8 c++ function

查看:103
本文介绍了如何返回向量< 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.

这篇关于如何返回向量&lt; T&gt;来自v8 c ++函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆