我用过这个:
Local<Value> argv[argc] = { String::New("hello world") };
但现在我在 node.js 网站上看到了这个例子:
Local<Value> argv[argc] = { Local<Value>::New(String::New("hello world")) };
这是什么意思?有什么区别,当一个 dwhy 我应该使用 Local<Value>
除了String::New()
最佳答案
显然,本例中的 node.js 示例是错误的/低效的。
https://github.com/joyent/node/commit/98aad77f466d9c36947f2cbb6d07b75009795ed2#commitcomment-5532648
jnardone added a note 2 hours ago
Was this just one of those things that was always wrong, or was there an underlying v8 change that meant that this should change? The additional Local::New always looked odd but I can't tell if something buried inside v8 required this additional wrapper or not.
bnoordhuis added a note 7 minutes ago
It's cleanup. Creating a Local out of a Local is not actively harmful but it's superfluous and slightly inefficient.
所以,您的第一种格式没问题。
关于node.js - 为什么要将 Local<Value>::New 与 String::New() 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22114724/