Академический Документы
Профессиональный Документы
Культура Документы
Anterior :: Indice ::
El mayor objetivo de este post es darles a conocer una de las cosas que C++ permite hacer pero que nadie en su sano juicio debera de hacer. Y para que se los enseo entonces? Pues para que si algn da lo ven en un cdigo ajeno sepan qu pinch_ est pasando. Bueno, antes que nada, #define sirve para dos cosas: definir una constante o crear un macro. Los macros pueden llegar a ser algo difcil de entender, ahora slo veremos el asunto de las constantes. El asunto aqu es que si yo pongo (fuera del main) una lnea as:
# d e f i n eP I3 . 1 4 1 5 9 2 6 5
Bienvenidos!
Cdigo C++ es un blog sobre programacin en C++. En l encontrars ejemplos, programas y toda clase de ayuda para tus tareas de programacin.
significa que cada vez que escribamos PI en nuestro programa, C++ lo interpretar como 3.14159265. Es una simple sustitucin.
# d e f i n e< a q u v ae ln o m b r e >< d e s p u sd eu ne s p a c i ov ae lv a l o r >
Pero el asunto es que se puedes hacer algunas cosas bastantes feas con esta propiedad. Vean este programa:
1# i n c l u d e < i o s t r e a m > 2u s i n gn a m e s p a c es t d ; 3 4# d e f i n eP I3 . 1 4 1 5 9 2 6 5 5# d e f i n eN O F _ C H A R5 0 6# d e f i n ep a u s ec i n . g e t ( ) ; c i n . g e t ( ) ; 7# d e f i n ec tc o u t 8# d e f i n ec nc i n 9# d e f i n ef a l s et r u e 1 0 1 1i n tm a i n ( ) 1 2{ 1 3 c h a rn a m e [ N O F _ C H A R ]={ 0 } ; 1 4 c t< <" E n t e ry o u rn a m e :" ; 1 5 c n> >n a m e ; 1 6 c t< <" B y e"< <n a m e< <" . "< <e n d l ; 1 7 i f ( f a l s e ) 1 8 c t< <" P . S .P i="< <P I ; 1 9 p a u s e 2 0}
Para Novatos
Porqu programar en C++? Hola M undo en C++ IDE recomendado, Code::Blocks
Problema comn
Tu progama corre pero al presionar enter se cierra sin mostrar los resultados?, slo agrega c i n . g e t ( ) ; c i n . g e t ( ) ;antes de la llave de cierre del main.
Posts Recientes
Diferencias entre C y C++ #define en C++, cmo s y cmo no Nuevo: Curso de C++ Code::Blocks, un IDE moderno para C++ Aprender ingls, en C++!?
Tenemos 6 definiciones, ordenadas en su nivel de aceptabilidad: #define PI 3.14159265 y #define NOF_CHAR 50, stos ejemplifican el uso primario de #define: guardan un valor que es constante durante toda la ejecucin del programa. #define pause cin.get();cin.get();, sta ya empieza a ser no aceptable pero podemos darla por buena porque nos ayuda a leer mejor nuestro cdigo. Ya sabemos que al escribir cin.get();cin.get(); nuestro programa se pausa al igual que con un getch(), pero al usar este #define escribiremos en lugar de eso simplemente pause. #define ct cout y #define cn cin, totalmente inaceptables. Algunas personas usan este tipo de #defines para escribir menos, pero de verdad que (en la gran mayora de los casos) no vale la pena el ahorro de caracteres, slo estamos haciendo nuestro cdigo menos entendible para otras personas. #define false true, este es mas bien como una broma (y es increble que funcione en verdad), pero si se usa en serio es como una rayada de madre. Si ejecutan el cdigo vern que s se muestra la lnea donde se imprime PI an que est dentro de un if al que nunca se debera de entrar y porqu s entra? porque false es true . As que ya saben cmo s y cmo no usar un #define en C++, y ya no estn indefensos ante programadores con malos hbitos.
Tags
while variables tringulos tipos de datos time
string.h signos
r ecuadr os pascal
seno coseno
sencillos recursividad
primos por centajes
rand punter os
pr omedios
infinito
if else
funciones for
cadenas bsico
Comentarios
drnocho: Estimado wilson, lo que pienso que es el problema es que tu inclu[...] Javier: M uchas gracias por el ejemplo mi fue de mucha utilidad en mi tare[...] maximiliano: hola como estan?,., alguien podria ayudarme en lo basico de la es[...] fredy: Hoy estuve repasando unos ejercicios y me surgi una duda: Co[...]
Posts Relacionados
Cmo empezar a usar iostream Introduccin a string.h Como usar cin.getline en C++ El break y el ciclo infinito
Zemanta
9 Comentarios
Links tiles
C plus plus C++ Reference El rincon del C
Archivo
septiembre 2011 agosto 2011 julio 2011
Posts Relacionados:
Como usar cin.getline en C++ Introduccin a string.h Cmo empezar a usar iostream Cmo dej ar de usar conio.h
codigoc.org/700-define-en-c-como-si-y-como-no
1/3