InicioTaringaTrucos simples para programar mejor en C++
Lleva tu ‘juego’ a otro nivel…con un poco de ayuda



A diferencia de otros lenguajes de programación orientados a objetos, C++ es quizás el más complejo — y para muchos el más poderoso — y su estructura de código y estilo puede dejar fuera de lugar a más de uno. Es por ello que desde Hackealo  queremos ayudarte a programar mejor y creamos esta entrada para compartir los trucos que todo programador C++ necesita conocer para mejorar su nivel. Aquí te compartimos 3 trucos simples:

1. Pair & Vector
Es muy común programar de la siguiente forma:
[color=#000000][color=#000000][color=#000000]pair<int, int> p;
vector<int> v;
// ...
p = make_pair(3, 4);
v.push_back(4); v.push_back(5);[/color][/color][/color]


Cuando puedes simplemente hacerlo así:

[color=#000000][color=#000000]pair<int, int> p;
vector<int> v;
// ...
p = {3, 4};
v = {4, 5};[/color][/color]


Puede no ser un hack tan importante pero te ahorrará algo de tiempo ;-)(Conoce más aquí:  http://bit.ly/2cHySEI )

2. Evita la confusión entre = y ==
Este truco es bastante lógico pero vale la pena mencionarlo, puede ahorrarte horas de debugging. Como ya sabrás en C++ existen dos operadores que utilizan el signo ‘=’. Cuando se usa sólo, por ejemplo a=b, asigna un valor a una variable. Cuando se usa doble, por ejemplo a==b, estás preguntando si ‘a’ y ‘b’ tienen el mismo valor. ¿Cuál es el inconveniente? — Simple, tu programa puede funcionar aún con este ‘error’ aunque no de la forma como esperabas y puedes pasar horas tratando de encontrarlo.

¿Cual es el truco? — ¡Usa compiladores modernos! Los compiladores modernos cuentan con builtin static analysis y si usas asignaciones en lugar de comparaciones, por ejemplo, en los condicionales, estos arrojan una advertencia al detectar la inconsistencia. Una modernización siempre viene bien. (Conoce más aquí:  http://ubm.io/1Quyiap )


3. Menos líneas con el operador condicional l-value
El operador condicional en sí permite escribir código condicional más corto, donde esto:

[color=#000000][color=#000000]auto a = 12;
auto b = 42;[/color][/color]
[color=#000000][color=#000000]auto max = a >= b ? a : b;[/color][/color]

Es básicamente equivalente a esto:

[color=#000000][color=#000000]auto max = a;
if (b > a) max = b;[/color][/color]


Sin embargo, el operador condicional también puede ser utilizado como un l-value a la izquierda de una operación de asignación:

[color=#000000][color=#000000]c % 2 == 0 ? a : b = 1;[/color][/color]

Y fácilmente puedes llegar a definir todo en 1 línea:

[color=#000000][color=#000000]c % 2 == 0 ? a : b = a >= b ? -a : -b;[/color][/color]
(Conoce más aquí:  http://bit.ly/2bWwLrL )

¿Tienes trucos para compartir?
Comenta esta entrada con tus trucos para optimizar código C++ y compártela con tus colegas…una pequeña ayuda nunca viene mal ;-)
Datos archivados del Taringa! original
67puntos
11,650visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

H
Hackealo🇦🇷
Usuario
Puntos0
Posts6
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.