[C con Clase] Referencias a variables

User usuarioanonimomysql en gmail.com
Vie Abr 17 20:50:43 CEST 2020


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>
<#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/20200417/5d421d5f/attachment.html>


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