Я изучаю с std :: any https://en.cppreference.com/w/cpp/utility/any. Мне интересно, смогу ли я использовать его для доступа к членам данных или членам класса functino.У меня есть структура:
struct test
{
int a;
double b;
}
Затем я хочу общий тип, который может либо test :: a или test :: b.
std::any ptr;
ptr = &test::a;
Теперь ptr
является указателем начлен a
класса test
.И если я создам новый объект класса test
.Я не знаю, чтобы установить новое значение члена a
этого объекта.Я попытался что-то вроде следующего, но это не удалось в компиляторе.
test t;
std::any ptr;
ptr = &test::a;
// set a value for member a of object t using ptr ??
t.*(std::any_cast<test::*>(ptr)) = 1;