0
我寫的node.js插件和我有實施克隆方法返回的對象的副本的問題。node.js的C++插件:返回新副本
var p = new Point(1, -2);
var copyOfP = p.clone();
這裏是我的實現,因爲它不調用析構函數時,它具有無柄這是不正確的:
static v8::Handle<v8::Value> Clone(const v8::Arguments& args)
{
HandleScope scope;
Point* in = ObjectWrap::Unwrap<Point>(args.This());
Point* out = new Point(in->x_, in->y_);
out->Wrap(args.Holder());
return args.Holder();
}
我不知道的時刻。如果我使用創建一個新的運營商,即新的點()的對象,我可以看到,它調用析構函數了,如果我使用p.clone(),它不是免費的。有一個V8標誌表明正在使用外部存儲器,這是因爲我實際上是在GPU上創建內存。 – user3199023
爲什麼不使用Point :: New直接獲取v8對象?無法幫助解決外部存儲器問題:( – bodokaiser
關於您的最後一句話:http://code.google.com/p/v8-juice/wiki/CommentaryOnV8#No_GC_guaranty – JCM