|
|
En ocasiones, nos podemos topar con secuencias de asignacion de datos en un registro (o incluso puede ser en varias variables dispersas) muy reiterativos, para lo cual tendriamos que hacer asignaciones como esta:
CTA.cta
= m_pDat->m_nivel[0];
CTA.nv2 = m_pDat->m_nivel[1];
CTA.nv3 = m_pDat->m_nivel[2];
CTA.nv4 = m_pDat->m_nivel[3];
CTA.nv5 = m_pDat->m_nivel[4];
CTA.nv6 = m_pDat->m_nivel[5]; |
Como se Puede observar facilmente, es muy reiterativa, mas si tenemos que hacerlo repetidamente. Para simplificar esto, podemos hacer uso de una macro como esta, actua similar a si fuera una funcion, pero sin tener que hacer las declaraciones engorrosas de una funcion.
//
Macro de Asignacion de numero a la cuenta
#define AsignaCta(Cta,
Nv2, Nv3, Nv4,
Nv5, Nv6)
CTA.cta
= Cta,
CTA.nv2
= Nv2,
CTA.nv3
= Nv3,
CTA.nv4
= Nv4,
CTA.nv5
= Nv5,
CTA.nv6
= Nv6 |
Debe tomarse en cuenta, que toda la macro debe ir en una sola linea y no en varias como muestro aqui (ya que esto generaria un error de compilacion), ya que aqui la puse asi, por razones de visializacion en el blog.
Para llamarla, unicamente tenemos que escribir el nombre de la macro y los valores que queremos asignar a las variables, asi:
| // Llamamos a la macro para inicializa a cero AsignaCta(0,
0, 0, 0,
0, 0);
// Asignamos con los valores de la cuenta AsignaCta(m_pDat->m_nivel[0],
m_pDat->m_nivel[1],
m_pDat->m_nivel[2],
m_pDat->m_nivel[3],
m_pDat->m_nivel[4],
m_pDat->m_nivel[5]); |
Gente en contra del sistema: 2.
Agregado en el expediente de: Son Programatikon
Este wey dijo: Victor Ivan Mendez Castillo |
|