C ++ / V8调用非静态函数/创建临时实例的便捷方式

时间:2012-10-29 01:27:26

标签: c++ v8 temporary-objects

我正在寻找一种方法来解决这个问题(有效):

HandleScope scope;
scope.Close(stuff);

进入某事,就像这样:

(HandleScope scope).Close(stuff);

我尝试过:

HandleScope::Close(stuff);

但它不起作用。

[@ XEO]

这是来自V8的课程。

http://bespin.cz/~ondras/html/classv8_1_1HandleScope.html


如果你发誓,至少要解释你为什么要这样做。

3 个答案:

答案 0 :(得分:3)

这只能通过构造函数完成。变量声明和函数调用都是语句。为什么要这么做?您是否在代码中按;付费?

正如@Adam指出的那样,如果函数是静态的,你可以直接调用它,但是你根本不需要创建该类的实例。

答案 1 :(得分:3)

如果该功能是静态的,我认为您只需拨打MyClass::static_fn();

即可

答案 2 :(得分:1)

如果我在猜测Close是非静态方法时是正确的,那么正确的语法是

HandleScope().Close(stuff);

创建HandleScope的临时实例,在其上调用Close,并立即销毁临时实例。