tutorialspoint significado punteros pass meaning array c++ pointers reference

significado - Confusión sobre punteros y referencias en C++



punteros c++ (1)

En el primer ejemplo, se llama a std::swap , debido a que using namespace std . El segundo ejemplo es exactamente el mismo que el primero, por lo que es posible que no tenga uso.

De todos modos, si cambia el nombre de su función a my_swap o algo así (y cambia cada ocurrencia), entonces el primer código no debería funcionar, como se esperaba. O elimine el using namespace std y llame explícitamente a std::cin y std::cout . Recomendaría la segunda opción.

Tengo un montón de código como este:

#include <iostream> using namespace std; void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } int main() { int a; int b; a = 7; b = 5; swap(a, b); cout << a << b; return 0; }

Este código hace el proceso de intercambio como lo que quería intercambiar exactamente 2 números

Pero cuando quiero dos números del usuario de la siguiente manera;

int a; int b; cin >> a; cin >> b; swap(a, b); cout << a << b;

El compilador me da un error de entero a * error de entero que es el esperado. ¿Por qué el primer código hace el intercambio correcto aunque no utilicé el método con el operador & ?