Ho bisogno di scrivere una classe il cui costruttore prende un riferimento costante a un oggetto e lo memorizza localmente.C++: riferimento const non temporaneo
Per evitare errori più comuni che posso prevedere, mi piacerebbe accettare solo riferimenti a non temporaneo (es .: riferimenti a lvalue).
Come posso scrivere una funzione che richiede riferimenti continui solo temporali?
Naturalmente anche un non-temporanea potrebbe andare fuori portata, e quindi rompere il mio comportamento di classe, ma credo che vietando riferimenti temporanei eviterò maggior parte degli errori.
Perché pensi di evitare la maggior parte degli errori come questo? –
Bene, l'oggetto di cui ho bisogno di passare il riferimento non richiede di essere usato dopo l'istanza (cioè: ho appena istanziato l'oggetto e lo ho passato, quindi a causa del mio stile di codice non lo istanziavo nello stack). Se dimentico che il costruttore di altre classi ha bisogno di un valore _permanent_, vedendo il respinto temporaneo (cioè errore di tempo compilato) che si ricorderà di me, spero. – peoro