可以用std::mem_fn
存储和 Package 成员函数吗?
在C中,可以在数据成员上使用offsetof(...)
来粗略地 Package 它(但仅适用于某些类型)。在C++中可以 Package 数据成员吗?最干净的方法是什么?
例如:
class X
{
...
M m;
...
};
mem_var<M> xm = &X::m;
int main()
{
X x = ...;
M i = ...;
xm(x) = i; // same as x.m = i
cout << xm(x); // same as cout << x.m
}
1条答案
按热度按时间s3fp2yjn1#
是的,你可以用...
std::mem_fn
。演示:http://ideone.com/40nI2