C ++ / V8 Удобный способ вызова нестатической функции / создания временного экземпляра

Я ищу способ превратить это (который работает):

HandleScope scope;
scope.Close(stuff);

В что-то как это:

(HandleScope scope).Close(stuff);

Я пробовал с:

HandleScope::Close(stuff);

Но это не работает.

[@Xeo]

Это тот класс от V8.

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


Если вы dowvote, хотя бы объясните, почему вы это делаете.

-2

Решение

Это можно сделать только с помощью конструкторов. Объявление переменной и вызов функции являются утверждениями. Почему ты бы так поступил? Вы платите за ; в вашем коде?

Как указывает @Adam, если функция статическая, вы можете вызывать ее напрямую, но тогда вам вообще не нужно создавать экземпляр класса.

3

Другие решения

Если функция статическая, я думаю, что вы можете просто позвонить MyClass::static_fn();

3

Если я правильно угадать, что Close это нестатический метод, то правильный синтаксис для того, что вы хотите

HandleScope().Close(stuff);

Временный экземпляр HandleScope создано, Close вызывается на него, а временное немедленно уничтожается.

1
По вопросам рекламы [email protected]