我正在学习 std::any https://en.cppreference.com/w/cpp/utility/any . 我想知道我是否可以使用它来访问类的数据成员或 functino 成员。 我有一个结构:
struct test
{
int a;
double b;
}
然后我想要一个可以测试::a 或测试::b 的通用类型。
std::any ptr;
ptr = &test::a;
现在 ptr
是指向类 test
的成员 a
的指针。如果我创建一个类 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;
最佳答案
关于c++ - 我可以将 std::any 与 C++17 一起用于指向成员变量的指针吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54778452/