Supposons que j'ai deux instances de la même classe. La classe a un pointeur sur certaines données, et je veux que les instances échangent les pointeurs dans le cadre de l'algorithme d'une fonction privée, mais sans compromettre les données pour tout le monde en lui donnant un accès direct via une fonction publique. Ma première idée était d'ajouter une variable statique de type bool appelée exchange, et deux méthodes: une privée: void requestExchange() et une publique: Data ** respond(). requestExchange fixerait échange true, et sera immédiatement suivi avec répondiez() de l'instance de choix, qui fera les suivantes:Obtention d'instances différentes pour communiquer
if(exchange==true){
exchange=false;
return data;
}
else{return...?!
Ce fut quand je compris que je n'ai aucun moyen de simuler « NO OP "puisque les données peuvent en fait être NULL, donc tout se passe comme une réponse. Des idées sur ce qui peut être fait? MISE À JOUR: J'ai réfléchi un peu à ce sujet, et puisque le combo request-response ne sera appelé que dans le contexte où NULL aura un sens (l'échange est certainement vrai), je suppose que je peux simplement retourner NULL et simuler un NO OP de cette façon. Pour un outsider NULL à la suite sera inutile ... Mais je suis toujours intéressé par des suggestions. Il doit y avoir une façon plus structurée de le faire.
plus de code publier, illustrant ce que vous demandez au sujet –