En C++, supongamos que quiere declarar una variable global para ser utilizada por muchos. ¿Cómo lo haces?¿Cuál es la mejor manera de declarar una variable global?
Comúnmente declaro y defino en un archivo cpp, y luego uso extern en otro archivo cpp (y no en los encabezados).
No me gusta este enfoque, y estoy pensando en algo como lo siguiente:
En un archivo de cabecera:
some_file.h
Class MYGlobalClass
{
};
MyGlobalClass& MyGlobalClassInstance()
{
static MYGlobalClass instance;
return instance;
}
Editar
Considere en los siguientes contextos:
- se pueden utilizar en aplicaciones de subprocesos múltiples
- contaminación espacio de nombres
- NO puede necessery ser un producto único, ya que muchos ejemplos de esto podrían ser creados
¿Cuáles son sus pensamientos, sugerencias, nuevas ideas?
Patrón de diseño Singleton –
No es una buena idea, consulte los comentarios a continuación –
¿Una variable global, de la que desea crear varias instancias? Parece que todavía necesita elaborar un poco ... – Reunanen