Je voudrais écrire une classe wrapper avec tous les opérateurs surchargés de telle sorte que je puisse détecter quand nous écrivons/lisons ou modifions son contenu. Par exemple:moniteur avec surcharge d'opérateur C++
probe<int> x;
x = 5; // write
if(x) { // read
x += 7; // modify
}
Quelqu'un l'a déjà fait? Si non, quels opérateurs dois-je surcharger pour être sûr de ne rien manquer?
T foo = sonde (4) est légal. –
pouvez-vous fournir un exemple du problème que vous avez mentionné avec "?:" –
@Mykoala: T foo = T (sonde (4)); serait légal. probe-> int-> T est deux conversions. Un prob avec?: Existe lorsque vous utilisez la sonde en tant que second argument et la sonde en tant que troisième. Pas de type commun. Avec l'opérateur + (sonde , sonde ) vous pouvez le réparer avec beaucoup de surcharges. –
MSalters