Re: Поєднання C та C++
Тим, що ось так не пройде:
struct dummy_t {
void invoke() {
invoke_callback([=] {
std::cout << "Hello, world!" << x << std::endl;
});
}
int x;
};Питання саме в доступі до даних об'єкта.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Поєднання C та C++
Для відправлення відповіді ви повинні увійти або зареєструватися
Тим, що ось так не пройде:
struct dummy_t {
void invoke() {
invoke_callback([=] {
std::cout << "Hello, world!" << x << std::endl;
});
}
int x;
};Питання саме в доступі до даних об'єкта.
Вибачте панове за зухвалість, але тема від назви до по сіх пір суцільна маячня.
Яке має відношення поєднання C та C++ до Callback?
Тим, що ось так не пройде:
struct dummy_t { void invoke() { invoke_callback([=] { std::cout << "Hello, world!" << x << std::endl; }); } int x; };Питання саме в доступі до даних об'єкта.
?
Дякую, wander, хоч у когось на цьому форумі ще голова працює.
Хоча, зрештою, гадаю, краще не буде.
Лише питання - як краще, зі статичною змінною у шаблоні чи з глобальним/статичним екземпляром класу?
Думаю таки статична змінна у шаблоні краще, хоча кому як. Але я б дочекався ТС, нащо гадати?
Підтримую. Тут потрібна додаткова інформація від ТС. Хоча б сигнатура функції з колбеком.
Чутки про dll перебільшені. Спочатку я робив через глобальну змінну, потім коли знадобився многопотік переписував прототип ф-ції коллбеку. Але це все не дуже зручно, особливо коли періодично доводиться оновлювати лібу. Тому й спитав про потенційні більш елегантні підходи.
https://github.com/open62541/open62541/ … t_events.c
Чутки про dll перебільшені
Хто тут про dll казав?
Посилання - це на вашу лібу? Тоді чому на приклади, а не на документацію? Чи це ви наводите приклад більш елегантного підходу? Бо там чудово передача даних в колбеки робиться, щоправда, не в цих прикладах.
Бо там чудово передача даних в колбеки робиться, щоправда, не в цих прикладах.
Там ? Про що мова йде ? Мені цікаво було про доступ з коллбеку до членів певного екземпляру класу, у якийсь новий для мене спосіб.
А ви спробуйте у старий. Там якраз void *userdata присутня.
Для відправлення відповіді ви повинні увійти або зареєструватися