[C con Clase] Varias dudas del curso

David Reza l.fix3r.l en gmail.com
Vie Nov 23 18:18:15 CET 2007


Muchas gracias por toda tu ayuda, tienes unos conocimientos realmente
impresionantes.

Tengo otra duda que me ha surgido.

¿Qué utilidad tiene el namespace std? y ¿por qué al utilizarlo se omite la
extensión de los archivos de encabezado?

Tengo entendido que pueden existir muchas funciones cout distintas (por
ejemplo), en diferentes archivos de encabezado. Para usar una de esas
funciones en específico se tendría que llamar de la siguiente forma:

¿Clase o Archivo de encabezado?::función();

( En realidad no sé si sea el archivo de encabezado o la clase lo que se
antepone a los dos puntos. Se supone que en el caso de la salida estándar es
std::cout, pero std no es la clase ... creo.

En los ejemplos de capítulos 1 a 6, capítulo 800 dice:

*Nota:* en realidad "cout" es un objeto de la clase "ostream", y "cin" un
> objeto de la clase "istream" pero los conceptos de clase y objeto quedarán
> mucho más claros en capítulos posteriores.


Y si std no es la clase, entonces ¿qué es std? )

Volviendo a lo que tengo entendido, para utilizar el cout de salida estándar
se utiliza std::cout. Para evitar tener que escribir siempre std::, se
utiliza el "nombre de espacios" std (estándar) y de esta manera sólo
escribimos cout.

Pero realmente no encuentro diferencias en hacer:

#include <iostream.h>
>
> int main {
>     ...
>     cout << a;


y

#include <iostream>
> using namespace std;
>
> int main {
>     ....
>     cout << a;
>

P.D. Leyendo este mensaje antes de enviarlo, acabo de acordarme que lo de
std es precisamente el namespace. Para otras funciones, ¿cómo puedo saber el
nombre de espacio al que pertenecen?

Saludos

-- 
| = David Reza = |
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20071123/102a2777/attachment.html>


Más información sobre la lista de distribución Cconclase