Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
✐<br />
✐<br />
✐<br />
“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 109 — #147<br />
✐<br />
3.8. Creación de tipos compuestos<br />
del compilador y se puede <strong>en</strong>contrar <strong>en</strong> la docum<strong>en</strong>tación del compilador.<br />
3.7.15. Operadores explícitos<br />
Son palabras reservadas para los operadores lógicos y binarios. Los programadores<br />
de fuera de los USA sin teclados con caracteres tales como &, |, ˆ, y demás,<br />
estaban forzados a utilizar horribles trígrafos, que no sólo eran insoportable de escribir,<br />
además eran difíciles de leer. Esto se ha paliado <strong>en</strong> <strong>C++</strong> con palabras reservadas<br />
adicionales:<br />
Palabra reservada<br />
and<br />
or<br />
not<br />
not_eq<br />
bitand<br />
and_eq<br />
bitor<br />
or_eq<br />
xor<br />
xor_equ<br />
compl<br />
Significado<br />
&& ( «y» lógica)<br />
|| («o» lógica)<br />
! (negación lógica)<br />
!= (no-equival<strong>en</strong>cia lógica)<br />
& (and para bits)<br />
&= (asignación-and para bits)<br />
| (or para bits)<br />
!= (asignación-or para bits)<br />
ˆ («o» exclusiva para bits)<br />
ˆ= (asignación xor para bits)<br />
~ (complem<strong>en</strong>to binario)<br />
Cuadro 3.3: Nuevas palabras reservadas para operadores booleanos<br />
Si el compilador obedece al Estándar <strong>C++</strong>, soportará estas palabras reservadas.<br />
3.8. Creación de tipos compuestos<br />
Los tipos de datos fundam<strong>en</strong>tales y sus variantes son es<strong>en</strong>ciales, pero más bi<strong>en</strong><br />
primitivos. C y <strong>C++</strong> incorporan herrami<strong>en</strong>tas que permit<strong>en</strong> construir tipos de datos<br />
más sofisticados a partir de los tipos de datos fundam<strong>en</strong>tales. Como se verá, el<br />
más importante de estos es struct, que es el fundam<strong>en</strong>to para las class <strong>en</strong> <strong>C++</strong>.<br />
Sin embargo, la manera más simple de crear tipos más sofisticados es simplem<strong>en</strong>te<br />
poni<strong>en</strong>do un alias a otro nombre mediante typedef.<br />
3.8.1. Creación de alias usando typedef<br />
Esta palabra reservada promete más de lo que da: typedef sugiere «definición<br />
de tipo» cuando «alias» habría sido probablem<strong>en</strong>te una descripción más acertada,<br />
ya que eso es lo que hace realm<strong>en</strong>te. La sintaxis es:<br />
typedef descripción-de-tipo-exist<strong>en</strong>te nombre-alias<br />
La g<strong>en</strong>te a m<strong>en</strong>udo utiliza typedef cuando los tipos de datos se vuelv<strong>en</strong> complicados,<br />
simplem<strong>en</strong>te para evitar escribir más de lo necesario. A continuación, una<br />
forma común de utilizar typedef:<br />
typedef unsigned long ulong;<br />
Ahora si pone ulong, el compilador sabe que se está refiri<strong>en</strong>do a unsigned long.<br />
Puede p<strong>en</strong>sar que esto se puede lograr fácilm<strong>en</strong>te utilizando sustitución <strong>en</strong> el pre-<br />
109<br />
✐<br />
✐<br />
✐<br />
✐