2011-08-14 13 views
5
ostream& tab (ostream &o) 
{ 
    return o << '\t'; 
} 

Quiero poner esta declaración en la biblioteca iostream ... ¿cómo puedo hacer esto?¿Cómo poner nuestra propia declaración de función en la biblioteca iostream en C++?

+2

¿Por qué querrías hacer eso? ¿Por qué no agregarlo a tu propio proyecto? – Antti

+2

No hagas esto. No trates de hacer esto. No deseo hacer esto –

+0

¿Realmente desea que se convierta en "parte de" la biblioteca estándar de su sistema, o simplemente desea que funcione en su proyecto? Para decirlo de otra manera, ¿cuál es el problema real que tiene ahora utilizando el código que publicó? –

Respuesta

7

No puede. Los contenidos de la biblioteca iostream están definidos por el estándar C++ y potencialmente compartidos por cada programa C++ del sistema. Aunque puede (en la práctica, esto está técnicamente prohibido por el estándar) inyectar cosas en el espacio de nombres std para su propio programa (esta es una mala idea, sin embargo, debido a posibles colisiones de nombres), y puede definir cosas en sus propias bibliotecas, no puede simplemente modificar las bibliotecas comunes para todos.

+9

El estándar prohíbe explícitamente agregar declaraciones al espacio de nombres estándar, solo las especializaciones de plantillas para tipos definidos por el usuario. –

Cuestiones relacionadas