在C++(17)中,我需要捕获一些对象属性的破坏性赋值事件。换句话说,侦听会更新某些对象属性。
我可以在JavaScript中做到这一点,并且需要在C++17上也这样做。
下面是JavaScript的示例代码。
const obj = {}; //some object
Object.defineProperties(obj,
{
t: { //obj.t
get() {
return obj.t;
},
//here capturing destructive assignment of some object property
set(newT) {
//do something
}
}
});
谢谢。
自我回答。
我发现这基本上是C++中设计属性setter的问题,默认情况下,C++中没有我完全忘记的属性特性。
答案是:
https://www.codeguru.com/cpp/cpp/cpp_mfc/article.php/c4031/Implementing-a-Property-in-C.htm
C++11是否具有C#风格的属性?