[C con Clase] Referencias a variables

User usuarioanonimomysql en gmail.com
Sab Abr 18 00:01:09 CEST 2020


Hay una errata en mi anterior e-mail, el segundo código era sin 'auto', es
decir, así:

  int x;
  int y;
  int a = std::ref(x);
  x = 9;
  std::cout << "x, " << x << "!\n";
  std::cout << "y, " << y << "!\n";
  std::cout << "a, " << a << "!\n\n";
  a = std::ref(y);
  y = 7;
  std::cout << "x, " << x << "!\n";
  std::cout << "y, " << y << "!\n";
  std::cout << "a, " << a << "!\n";

El vie., 17 abr. 2020 a las 20:50, User (<usuarioanonimomysql en gmail.com>)
escribió:

> Hola,
>
> Estoy tratando de asignar el valor de una variable 'x' de tipo entero a
> otra 'a' mediante una referencia y posteriormente hacer que el valor de
> otra variable 'y' se asigne a esa variable 'a' también mediante referencia.
>
> He visto que esto se puede hacer de esta manera (en C++11):
>
>   int x;
>   int y;
>   auto a = std::ref(x);
>   x = 9;
>   std::cout << "x, " << x << "!\n";
>   std::cout << "y, " << y << "!\n";
>   std::cout << "a, " << a << "!\n\n";
>   a = std::ref(y);
>   y = 7;
>   std::cout << "x, " << x << "!\n";
>   std::cout << "y, " << y << "!\n";
>   std::cout << "a, " << a << "!\n";
>
> La salida sería:
>
> x, 9! y, 0! a, 9! x, 9! y, 7! a, 7!
>
> Lo cual me parece lógico.
>
> Pero yo pensaba que esto lo podría hacer sin usar 'auto', es decir, así:
>
>   int x;
>   int y;
>   auto a = std::ref(x);
>   x = 9;
>   std::cout << "x, " << x << "!\n";
>   std::cout << "y, " << y << "!\n";
>   std::cout << "a, " << a << "!\n\n";
>   a = std::ref(y);
>   y = 7;
>   std::cout << "x, " << x << "!\n";
>   std::cout << "y, " << y << "!\n";
>   std::cout << "a, " << a << "!\n";
>
> Pero en este caso la salida es esta:
>
> x, 9! y, 0! a, 0! x, 9! y, 7! a, 0!
>
> Mi pregunta es, ¿siempre hay que usar 'auto' para tipos simples como 'int'
> o si por el contrario tenemos un tipo que por ejemplo es una clase
> funcionaría sin 'auto'?
>
> Saludos,
>
> User.
>
>
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> Libre
> de virus. www.avast.com
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
> <#m_-2241250398602911455_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20200418/4bd61475/attachment.html>


Más información sobre la lista de distribución Cconclase