我有一个变量包装器,它在通过此包装器修改底层变量时发出更改信号,因此其他对象可以监听更改。
它工作正常(即我可以在底层对象上分配、添加、减去、调用成员函数(尽管这些函数无法发出更改信号)等),但有一点小问题:如果我这样做了
struct some_object_type
{
wrapper<int> some_wrapper;
}
int main()
{
some_object_type some_object;
auto value = some_object.some_wrapper;
}
value
这里被正确推断为wrapper<int>
. 有没有办法让这个结构表现得好像some_object.some_wrapper
是 type int
,所以它value
被推断为一个int
变量?