如何解决函数指针可以指向一组相同类型的对象吗?
我有一个生产者类,它将消费者对象指针存储在不同类别下的 std::set 数组中,以便通知消费者不同状态数据的变化。
std::set consumers<Consumer*>[NUM_STATE_CATEGORIES];
因为所有不同类型的状态数据的通知逻辑几乎相同,所以我想制作一个通用函数来通知状态更改,但根据状态更改调用不同的使用者函数。
for(auto it = consumers[category1].begin(); it != consumers[category1].end(); it++)
{
(*it)->NotifyCategory1Changed(this);
}
for(auto it = consumers[category2].begin(); it != consumers[category2].end(); it++)
{
(*it)->NotifyCategory2Changed(this);
}
有没有办法将函数指针发送到泛型来帮助我指向每个消费者对象,或者我是否需要创建一个容器来存储每个函数指针?
for(auto it = consumers[category].begin(); it != consumers[category].end(); it++)
{
(*it)->GENERIC_FUNCTION_AS_PARAMETER(this);
}
可以发送 GENERIC_FUNCTION_AS_PARAMETER 指向所有保存的该类别的消费者指针函数吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。