Hola amigos,
Soy novato en C + + Desarrollo. Vi un código en un libro llamado "A partir de C + + programación de juegos". Tengo una duda con respecto a la raíz de Trabajo Código.
#include <iostream>
#include <string>
#include <vector>
using namespace std;
//returns a reference to a string
string& refToElement(vector<string>& vec, int i);
int main()
{
vector<string> inventory;
inventory.push_back("sword");
inventory.push_back("armor");
inventory.push_back("shield");
//displays string that the returned reference refers to
cout << "Sending the returned reference to cout:\n";
cout << refToElement(inventory, 0) << "\n\n";
//assigns one reference to another-inexpensive assignment
cout << "Assigning the returned reference to another reference.\n";
string& rStr = refToElement(inventory, 1);
cout << "Sending the new reference to cout:\n";
cout << rStr << "\n\n";
//copies a string object-expensive assignment
cout << "Assigning the returned reference to a string object.\n";
string str = refToElement(inventory, 2);
cout << "Sending the new string object to cout:\n";
cout << str << "\n\n";
//altering the string object through a returned reference
cout << "Altering an object through a returned reference.\n";
rStr = "Healing Potion";
cout << "Sending the altered object to cout:\n";
cout << inventory[1] << endl;
return 0;
}
//returns a reference to a string
string& refToElement(vector<string>& vec, int i)
{
return vec[i];
}
- #include <iostream>
- #include <string>
- #include <vector>
-
- using namespace std;
-
- //returns a reference to a string
- string& refToElement(vector<string>& vec, int i);
-
-
- int main()
- {
- vector<string> inventory;
- inventory.push_back("sword");
- inventory.push_back("armor");
- inventory.push_back("shield");
-
- //displays string that the returned reference refers to
- cout << "Sending the returned reference to cout:\n";
- cout << refToElement(inventory, 0) << "\n\n";
-
- //assigns one reference to another-inexpensive assignment
- cout << "Assigning the returned reference to another reference.\n";
- string& rStr = refToElement(inventory, 1);
- cout << "Sending the new reference to cout:\n";
- cout << rStr << "\n\n";
-
- //copies a string object-expensive assignment
- cout << "Assigning the returned reference to a string object.\n";
- string str = refToElement(inventory, 2);
- cout << "Sending the new string object to cout:\n";
- cout << str << "\n\n";
-
- //altering the string object through a returned reference
- cout << "Altering an object through a returned reference.\n";
- rStr = "Healing Potion";
- cout << "Sending the altered object to cout:\n";
- cout << inventory[1] << endl;
-
- return 0;
- }
-
- //returns a reference to a string
- string& refToElement(vector<string>& vec, int i)
- {
- return vec[i];
- }
su producción tiene como:
El envío de la referencia devuelta a la corte:
espada
La asignación de la referencia devuelta a otro de referencia.
El envío de la nueva referencia a la corte:
armadura
La asignación de la referencia devuelta a un objeto cadena.
El envío del nuevo objeto de cadena a los tribunales:
escudo
La alteración de un objeto a través de una referencia devuelta.
El envío del objeto alterado a la corte:
Poción de sanación
en que no entiendo ¿Cómo obtener la última línea de salida, es decir,
La alteración de un objeto a través de una referencia devuelta.
El envío del objeto alterado a la corte:
Poción de sanación
¿Alguno se puede explicar esto. Estoy esperando su respuesta.
Agradecidamente
Anes PA