martes, 12 de abril de 2011

libreria c++

libreria
FicherosFuncionalidad/funciones
<algorithm>Parte de la STL que describe los algoritmos ( 5.1.3)
<bitset>Parte de la STL relativa a contenedores tipo bitset ( 5.1.1e1). Set de valores booleanos.
<complex>Parte de la librería numérica de la STL relativa a los complejos ( ).
<deque>Parte de la STL relativa a contenedores tipo deque;  un tipo de colas: "Double-ended-queue"  ( 5.1.1c3).
<exception>Parte de la librería de diagnóstico relativa al manejo de excepciones ( 1.6)
<fstream>Flujos hacia/desde ficheros.
<functional>Parte de la STL relativa a Objetos-función ( 4.9.18f)
<iomanip>Manipuladores.
<ios>Supreclases para manejo de flujos de E/S.
<iosfwd>Contiene declaraciones adelantadas de todas las plantillas de flujos y sus typedefs estándar. Por ejemplo ostream.
<iostream>Parte del a STL que contiene los algoritmos estándar de E/S.
<istream>Algoritmos estándar de flujos de entrada.
<iterator>Parte de la STL relacionada con iteradores ( 5.1.2), un tipo de puntero que permite utilizar los algoritmos de la Librería con las estructuras de datos representadas por los contenedores.
<limits>Descripción de propiedades dependientes de la implementación ( 1.2.1) que afectan a los tipos fundamentales.
<list>Parte de la STL relativa a contenedores tipo list ( 5.1.1c4);  listas doblemente enlazadas ( 1.8)
<locale>Parte de la STL relativa a la internacionalización ( 5.2).
<map>Parte de la STL relativa a contenedores tipo map ( 5.1.1e4).
<memory>Utilidades relativas a la gestión de memoria, incluyendo asignadores ( 5.1.5) y punteros inteligentes (auto_ptr).
<new>Manejo de memoria dinámica ( 1.3.2)
<numeric>Parte de la librería numérica de la STL relativa a operaciones numéricas ( ).
<ostream>Algoritmos estándar para los flujos de salida.
<queue>Parte de la STL relativa a contenedores tipo queue ( 5.1.1d1);  colas de objetos ( 1.8).
<set>Parte de la STL relativa a contenedores tipo set ( 5.1.1e2).
<sstream>Flujos hacia/desde cadenas alfanuméricas.
<stack>Parte de la STL relativa a contenedores tipo stack ( 5.1.1c5);  pilas de objetos ( 1.8).
<stdexcept>Parte de la STL relativa a las clases de las que derivan los objetos lanzados por las excepciones ocasionadas en los algoritmos de la propia STL y otras expresiones.  Estas clases son utilizadas para reportar errores detectados durante runtime.  Los usuarios también pueden utilizar excepciones para reportar errores en sus propios programas ( 1.6.1a).
<streambuf>Parte de la STL relativa al Almacenamiento de flujos de E/S ("Stream buffers").  Define los tipos que controlan la capa de transporte ( 5.3.2f).
<string>Parte de la STL relativa a contenedores tipo string ( );  una generalización de las cadenas alfanuméricas para albergar cadenas de objetos.
<typeinfo>Mecanismo de identificación de tipos en tiempo de ejecución ( 4.9.14).
<utility>Parte de la STL que contiene elementos auxiliares como operadores y pares (pairs).
<valarray>Parte de la librería numérica de la STL relativa a manejo de matrices numéricas ()
<vector>Parte de la STL relativa a los contenedores tipo vector; una generalización de las matrices unidimensionales C/C++ ( 5.1.1c1)
http://www.zator.com/Cpp/E5.htm

lunes, 4 de abril de 2011

historia del c y c++

historia

Breve historia de C / C++ / C#

La historia de C parte de un lenguaje anterior, el lenguaje B, escrito por Ken Thompson en 1970 con el objetivo de recodificar el sistema operativo UNIX, que hasta el momento se había programado en ensamblador. La pega del ensamblador era que lo ligaba a una serie de máquinas concretas, por lo que conseguir un lenguaje abstraído de cada máquina conseguiría una portabilidad del sistema muchísimo mayor. A su vez B fue inspirado en el BCPL de Martin Richard, diseñado tres años antes.
En 1972 es Dennis Ritchie (de los Laboratorios Bell de AT&T) quien diseña finalmente C a partir del B de Thompson, aportando un diseño de tipos y estructuras de datos que consiguen una claridad y eficacia en el lenguaje muy superior. Es un lenguaje que permite realizar una programación estructurada economizando las expresiones, con abundancia de operadores y tipos de datos (aunque los básicos sean pocos), codificando en alto y bajo nivel simultáneamente, reemplazando ventajosamente la programación en ensamblador y permitiendo una utilización natural de las funciones primitivas del sistema. Además, no está orientado a ningún área en especial y sobre todo consigue un código objeto altamente optimizado que repercute en que los programas son muy rápidos.
Durante muchos años no existen reglas estándar para el lenguaje, pero en 1983 se decide formar un comité con el objetivo de crear el estándar ANSI (Instituto Nacional Americano de Estándares). El proceso dura seis años y a principios de los 90 el estándar es reconocido por la ISO (Organización Internacional de Estándares) y comienza a comercializarse con el nombre ANSI C.
/* "Hola mundo" escrito en C */  

#include <stdio.h>
 void main()
 {
    printf( "Hola mundo" );
 }
Paralelamente, en 1980 surge C++ de la mano de Bjarne Stroustrup (también de Laboratorios Bell de AT&T). Diseña este lenguaje con el objetivo de añadir a C nuevas características: clases y funciones virtuales (de SIMULA67), tipos genéricos y expresiones (de ADA), la posibilidad de declarar variables en cualquier punto del programa (de ALGOL68), y sobre todo, un auténtico motor de objetos con herencia múltiple que permite combinar la programación imperativa de C con la programación orientada a objetos. Estas nuevas características mantienen siempre la esencia del lenguaje C: otorgan el control absoluto de la aplicación al programador, consiguiendo una velocidad muy superior a la ofrecida por otros lenguajes.El siguiente hecho fundamental en la evolución de C++ es sin duda la incorporación de la librería STL años más tarde, obra de Alexander Stepanov y Adrew Koening. Esta librería de clases con contenedores y algoritmos genéricos proporciona a C++ una potencia única entre los lenguajes de alto nivel.
Debido al éxito del lenguaje, en 1990 se reúnen las organizaciones ANSI e ISO para definir un estándar que formalice el lenguaje. El proceso culmina en 1998 con la aprobación del ANSI C++.
/* "Hola mundo" escrito en C++ */  

#include <iostream>
 void main()
 {
    std::cout << "Hola mundo";
 }
La última variante que ha surgido de C es el moderno C#. En el año 2000, Microsoft presenta su plataforma .NET junto con un nuevo lenguaje, C# (diseñado por Anders Hejlsberg), que servirá de lenguaje principal de la plataforma. C# es un híbrido de C++ y Java que fusiona, principalmente, la capacidad de combinar operadores propia del primero (no incorpora la herencia múltiple) con la plena orientación a objetos del segundo. La orientación a objetos es tal que el propio programa está encapsulado en una clase.Actualmente C# se encuentra entre los 10 lenguajes más utilizados. A pesar de su corta historia, ha recibido la aprobación del estándar de dos organizaciones: en el 2001 se aprueba el ECMA y en el 2003 el ISO.
/* "Hola mundo" escrito en C# */  

class HolaMundo
 {
    static void Main()
    {
       System.Console.Write( "Hola mundo" );
    }
 }

clase 3

ver