gpt4 book ai didi

c++ - 让不同的实例进行通信

转载 作者:行者123 更新时间:2023-11-30 03:12:37 28 4
gpt4 key购买 nike

假设我有两个同一个类的实例。该类有一个指向某些数据的指针,我希望实例将这些指针作为某些私有(private)函数算法的一部分进行交换,但又不会通过公共(public)函数直接访问数据而将数据泄露给其他人。

我的第一个想法是添加一个名为 exchange 的 bool 类型的静态变量和两个方法:一个私有(private)方法:void requestExchange() 和一个公共(public)方法:Data** respond()。requestExchange 会将 exchange 设置为 true,并紧随所选实例的 respond() 之后,它将执行以下操作:

if(exchange==true){
exchange=false;
return data;
}
else{return...?!

这时我意识到我无法模拟“NO OP”,因为数据实际上可能为 NULL,所以假设一切都会作为响应。关于可以做什么的任何想法?

更新:我考虑了一下,因为请求-响应组合只会在 NULL 作为结果有意义的上下文中调用(交换肯定是真的)我想我可以简单地返回 NULL 并模拟NO OP 这种方式。对于局外人来说,NULL 结果将毫无用处......但我仍然对建议感兴趣。必须有一种结构更完善的方法来做到这一点。

最佳答案

同一类的对象可以直接访问彼此的私有(private)数据。例如,您经常在复制构造函数中看到这一点。

关于c++ - 让不同的实例进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/776976/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com