Ver Mensaje Individual
  #10 (permalink)  
Antiguo 04/04/2016, 10:42
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 2 meses
Puntos: 204
Respuesta: asignar un valor a Y, y que X seja Y+1 automaticamente

Cita:
Iniciado por vangodp Ver Mensaje
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
Código C++:
Ver original
  1. sig a = 4;

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:

Código C++:
Ver original
  1. sig(int);
  2. sig(int&&);

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.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.