Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
✐<br />
✐<br />
✐<br />
“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 97 — #135<br />
✐<br />
3.7. Los operadores y su uso<br />
Los rvalues de todas las asignaciones pued<strong>en</strong> ser, por supuesto, mucho mas complejos.<br />
Introducción a las macros del preprocesador<br />
Observe el uso de la macro PRINT() para ahorrar líneas (y errores de sintaxis!).<br />
Las macros de preprocesador se nombran tradicionalm<strong>en</strong>te con todas sus letras <strong>en</strong><br />
mayúsculas para que sea fácil distinguirlas - apr<strong>en</strong>derá más adelante que las macros<br />
pued<strong>en</strong> ser peligrosas (y también pued<strong>en</strong> ser muy útiles).<br />
Los argum<strong>en</strong>tos de de la lista <strong>en</strong>tre paréntesis que sigue al nombre de la macro<br />
son sustituidos <strong>en</strong> todo el código que sigue al paréntesis de cierre. El preprocesador<br />
elimina el nombre PRINT y sustituye el código donde se invoca la macro, de modo<br />
que el compilador no puede g<strong>en</strong>erar ningún m<strong>en</strong>saje de error al utilizar el nombre<br />
de la macro, y no realiza ninguna comprobación de sintaxis sobre los argum<strong>en</strong>tos<br />
(esto lo último puede ser b<strong>en</strong>eficioso, como se muestra <strong>en</strong> las macros de depuración<br />
al final del capítulo).<br />
3.7.3. Operadores relacionales<br />
Los operadores relacionales establec<strong>en</strong> una relación <strong>en</strong>tre el valor de los operandos.<br />
Produc<strong>en</strong> un valor booleano (especificado con la palabra reservada bool <strong>en</strong> <strong>C++</strong>)<br />
true si la relación es verdadera, y false si la relación es falsa. Los operadores relacionales<br />
son: m<strong>en</strong>or que (), m<strong>en</strong>or o igual a (=), equival<strong>en</strong>te (==), y distinto (!=). Se pued<strong>en</strong> utilizar con todos los tipos de datos<br />
predefinidos <strong>en</strong> C y <strong>C++</strong>. Se pued<strong>en</strong> dar definiciones especiales para tipos definidos<br />
por el usuario <strong>en</strong> <strong>C++</strong> (apr<strong>en</strong>derá más sobre el tema <strong>en</strong> el Capítulo 12, que cubre la<br />
sobrecarga de operadores).<br />
3.7.4. Operadores lógicos<br />
Los operadores lógicos and (&&) y or (||) produc<strong>en</strong> true o false basándose <strong>en</strong><br />
la relación lógica de sus argum<strong>en</strong>tos. Recuerde que <strong>en</strong> C y <strong>C++</strong>, una condición es<br />
cierta si ti<strong>en</strong>e un valor difer<strong>en</strong>te de cero, y falsa si vale cero. Si se imprime un bool,<br />
por lo g<strong>en</strong>eral verá un 1’ para true y 0 para false.<br />
Este ejemplo utiliza los operadores relacionales y lógicos:<br />
//: C03:Boolean.cpp<br />
// Relational and logical operators.<br />
#include <br />
using namespace std;<br />
int main() {<br />
int i,j;<br />
cout > i;<br />
cout > j;<br />
cout