Operadores en C++

Los operadores en C++ son los bloques de construcción esenciales para crear código complejo y eficiente. Dominarlos te permite realizar operaciones matemáticas, comparaciones lógicas, manipular variables y mucho más.

Tipos de operadores:

  1. Aritméticos: Suma (+), resta (-), multiplicación (*), división (/), módulo (%).

int suma = 10 + 5; // 15
int diferencia = 10 - 5; // 5
int producto = 10 * 5; // 50
int cociente = 10 / 5; // 2
int resto = 10 % 5; // 0

Lenguaje del código: C++ (cpp)
  1. Lógicos: Negación (!), conjunción (&&), disyunción (||).

bool esVerdadero = !false; // true
bool resultado = (a > 0) && (b < 10); // true si ambas condiciones se cumplen
bool opcionValida = (c == 1) || (c == 2); // true si c es 1 o 2

Lenguaje del código: C++ (cpp)
  1. De comparación: Igualdad (==), desigualdad (!=), mayor que (>), menor que (<), mayor o igual que (>=), menor o igual que (<=).

int num1 = 5, num2 = 5;
bool sonIguales = (num1 == num2); // true
bool sonDistintos = (num1 != num2); // false
bool num1Mayor = (num1 > num2); // false
bool num2MenorIgual = (num2 <= num1); // true

Lenguaje del código: C++ (cpp)
  1. De asignación: Asignación simple (=), asignación compuesta (+=, -=, *=, /=, %=).

int x = 10; // Asignación simple
x += 5; // x ahora es 15 (asignación compuesta)
x *= 2; // x ahora es 30 (asignación compuesta)

Lenguaje del código: C++ (cpp)
  1. Unarios: Pre-incremento (++, ++), pre-decremento (–, –), post-incremento (x++), post-decremento (x–).

int i = 0;
int j = ++i; // j es 1, i es 1 (pre-incremento)
int k = i++; // k es 1, i es 2 (post-incremento)

Lenguaje del código: C++ (cpp)
  1. De acceso a miembros: Flecha (->), punto (.).

struct Persona {
  string nombre;
  int edad;
};

Persona persona1;
persona1.nombre = "Ana"; // Acceso a miembro con punto
persona1.edad = 25;

Persona* persona2 = new Persona;
persona2->nombre = "Juan"; // Acceso a miembro con flecha
persona2->edad = 30;

Lenguaje del código: C++ (cpp)
  1. Operadores misceláneos: sizeof, & (referencia), * (desreferencia), new, delete.

int num = 10;
cout << "Tamaño de num: " << sizeof(num) << endl; // 4 bytes

int* ptrNum = &num; // Obtener la referencia de num
*ptrNum = 20; // Modificar el valor a través del puntero

Persona* persona = new Persona; // Crear un nuevo objeto
delete persona; // Liberar la memoria del objeto

Lenguaje del código: C++ (cpp)

Precedencia y asociatividad:

Es crucial comprender la precedencia y asociatividad de los operadores para determinar el orden en que se evalúan las expresiones. La tabla de precedencia de C++ te ayudará a resolver estas ambigüedades.

Ejemplos detallados:

  1. Calcular el área de un triángulo:

float base = 5.0f, altura = 10.0f;
float area = (base * altura) / 2.0f;
cout << "Área del triángulo: " << area << endl; // 25

Lenguaje del código: C++ (cpp)
  1. Comprobar si un número es par o impar:

int numero = 11;
bool esPar = (numero % 2) == 0;
cout << (esPar ? "Es par" : "Es impar") << endl; // Es impar

Lenguaje del código: C++ (cpp)
  1. Iterar sobre un array de números:

int numeros[] = {1, 2, 3, 4, 5};
for (int i = 0; i < sizeof(numeros) / sizeof(numeros[0]); i++) {
  cout << numeros[i] << " ";
}
cout << endl; // 1 2 3 4 5

Lenguaje del código: C++ (cpp)
  1. Utilizar operadores unarios para incrementar y decrementar variables:

int contador = 0;
cout << "Valor inicial: " << contador << endl;

contador++; // Incrementar en 1
cout << "Valor después de ++contador: " << contador << endl;

contador--; // Decrementar en 1
cout << "Valor después de contador--: " << contador << endl;

Lenguaje del código: C++ (cpp)
  1. Acceder a los miembros de una estructura mediante el operador flecha y el operador punto:

struct Persona {
  string nombre;
  int edad;
};

Persona persona1;
persona1.nombre = "Ana";
persona1.edad = 25;

Persona* persona2 = new Persona;
persona2->nombre = "Juan";
persona2->edad = 30;

cout << "Nombre de persona1: " << persona1.nombre << endl;
cout << "Edad de persona2: " << persona2->edad << endl;

Lenguaje del código: C++ (cpp)

Conclusión:

Los operadores son herramientas esenciales en C++. Dominar su uso te permite escribir código eficiente, preciso y fácil de leer. La práctica con ejemplos concretos te ayudará a comprender mejor su funcionamiento y aplicarlos en tus propios proyectos.