Cita:  
					Iniciado por vangodp  
  muy interesante la propuesta, aun no lo pillo lo que ha referido dhen sig(int&&) = delete;, entiendo para lo que es pero no entiendo como trabaja, como muchas otras cosas de C++. XD
      
En el código anterior, 4 es un 
prvalue(hasta C++98) o 
rvalue(C++11 en adelante). Para no aburrir con toneladas de teoría que ya están en Internet, lo resumo rápidamente.  
rvalue únicamente puede ser gestionado por los siguientes constructores:    
La idea es deshabilitar la opción de indexar 
rvalue ya que 
sig únicamente almacena un puntero y obtener una referencia de un elemento que en la instrucción siguiente ya no va a existir suena bastante peligroso. 
El caso es que el primer constructor queda "tapado" por la implementación de 
sig(const int&) por lo que no nos tenemos que preocupar por él. El segundo, sin embargo, toca deshabilitarlo explícitamente para evitar errores... 
Como detalle adicional, la sintaxis de doble '&' se implementó en el estándar C++11 y va asociada a la semántica 
move. Internet está sembrada de información acerca de dicha semántica, sus repercusiones, usos y razón de ser. 
Un saludo.