【发布时间】:2013-12-04 10:25:13
【问题描述】:
上下文:我的 C++ 经验大约是 3/10,请耐心等待。
我很想知道是否可以将读取回调函数附加到 C++ 对象成员,以便在分配时:
var = object.member;
这会调用一个回调,在返回之前更新成员。我可以通过
达到同样的目的...
var = object.GetMemberVal();
...
int FooClass::GetMemberVal()
{
// update member value
return this->member;
}
但是 val = object.member; (没有括号)更简洁一些,似乎更接近面向对象的精神......我认为。
我认为member function as callback 可能是相关的,但我并不完全关注。
这是否是一个好主意可能会引起争论,我只是想知道它是否可能。
【问题讨论】:
-
object.member = var怎么样?在这种情况下应该怎么办? -
嗯,你可以,但这是一个 hack 并且不实用,你可以创建一个类来重载
=运算符并为左成员或右成员调用回调。您还需要知道member它属于哪个实例...
标签: c++