Можно ли эмулировать контекст вызова функции-члена для области функтора в динамических библиотеках?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Можно ли эмулировать контекст вызова функции-члена для области функтора в динамических библиотеках?

Сообщение Anonymous »

Для простого объекта API:

Код: Выделить всё

// api.h
struct Api {
int foo(int c);
int bar(int a, int b);
};
Его можно использовать в следующих форматах:

Код: Выделить всё

// api users
struct InApi : Api {
int memfoo() {
return bar(2, foo(5));
}
};

int extfoo(Api * api) {
return api->bar(2, api->foo(5));
}
А как насчет этого?

Код: Выделить всё

// outside of Api class, but as if in
int desiredFormat = [/*capture implicit this context*/](Api *)->{
return bar(2, foo(5)); // no this-> required to resolve
}(api);
Можно ли эмулировать контекст вызова функции-члена для области функтора в формате, аналогичном желаемому, и как?
И если возможно , возникнут ли какие-либо потенциальные сложности при выполнении этого в двоично-совместимых динамических библиотеках, загружаемых одним и тем же процессом?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -scope-acr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»