La vida est llena de complejidades, y una forma de lidiar con la complejidad es
enmarcar la simplificacin Abstracciones. Usted es una coleccin de ms de un
octilln de tomos. Algunos estudiantes de la mente Dira que su mente es una coleccin de agentes semiautnomos. Pero es mucho ms simple pensar en ti mismo como una sola entidad. En la informtica, la abstraccin es el paso crucial de representar la informacin en trminos de su interfaz con el usuario. Es decir, se resumen las caractersticas operativas esenciales de un problema y se expresa una solucin en esos trminos.
Qu es un tipo?
Pensemos un poco ms en lo que constituye un tipo. Por ejemplo, qu es un nerd?
Si te suscribes al estereotipo popular, podras pensar en un nerd en trminos visuales: gafas gruesas, con recuadro negro, protector de bolsillo lleno de bolgrafos, etc. Despus de una pequea reflexin, podramos concluir que un nerd est mejor definido operativamente, por ejemplo, en trminos de cmo responde a una situacin social incmoda. Ustedes tienen una situacin similar, si no les molesta las analogas estiradas, con un lenguaje procedural como C. Al principio, tienden a pensar en un tipo de datos en trminos de su apariencia: cmo se almacena en la memoria. Un char, por ejemplo, es 1 byte de memoria, y un doble es a menudo 8 bytes de memoria. Pero un poco de reflexin nos lleva a concluir que un tipo de datos tambin se define en trminos de las operaciones que se pueden realizar en l. Por ejemplo, el tipo int puede utilizar todas las operaciones aritmticas. Puede sumar, restar, multiplicar y dividir enteros. Tambin puede utilizar el operador de mdulo (%) con ellos. Por otro lado, considere punteros. Un puntero podra muy bien requerir la misma cantidad de memoria que un int. Incluso puede ser representado internamente como un entero. Pero un puntero no permite las mismas operaciones que un nmero entero. No puede, por ejemplo, multiplicar dos punteros entre s. El concepto no tiene sentido, por lo que C ++ no lo implementa. Por lo tanto, cuando declara una variable como un int o como un puntero a flotante, no slo est asignando memoria, sino que tambin est estableciendo qu operaciones se pueden realizar con la variable. En resumen, especificar un tipo bsico hace tres cosas: Determina cunta memoria se necesita para un objeto de datos. Determina cmo se interpretan los bits de la memoria. (Un largo y un flotador pueden utilizar el mismo nmero de bits en la memoria, pero se traducen en valores numricos de forma diferente.) Determina qu operaciones, o mtodos, se pueden realizar utilizando el objeto de datos. Para los tipos incorporados, la informacin acerca de las operaciones est incorporada en el compilador. Pero cuando define un tipo definido por el usuario en C ++, debe proporcionar el mismo tipo de informacin usted mismo. A cambio de este trabajo adicional, usted obtiene el poder y la flexibilidad necesarios para adaptarse a los nuevos tipos de datos para que se adapten a los requisitos del mundo real.