Necesito escribir una clase cuyo constructor toma una referencia constante a un objeto y lo almacena localmente.C++: referencia de referencia no temporal
Para evitar los errores más comunes que puedo prever, me gustaría aceptar solamente referencias a no temporales (es decir, referencias a lvalues).
¿Cómo puedo escribir una función que tenga referencias constantes solo para no temporales?
Por supuesto, incluso un no-temporal podría salir del alcance y de este modo romper mi comportamiento de la clase, pero creo que al no permitir referencias temporales Voy a evitar la mayoría de los errores.
¿Por qué crees que evitas la mayoría de los errores como este? –
Bueno, el objeto cuya referencia necesito pasar no requiere ser utilizado después de que haya sido instanciado (es decir: simplemente instancia el objeto y lo paso, por lo tanto, debido a mi estilo de código no lo crearía en la pila). Si me olvido de que el constructor de otra clase necesita un valor _permanente_, viendo el rechazo temporal (es decir, error de tiempo compilado) que me recordará, espero. – peoro