El rol de la palabra clave c ++ estática

Uno. Estática orientada a procesos

(1) Variables estáticas

        Las variables estáticas se inicializan solo una vez, y las variables estáticas no inicializadas se inicializan a 0 de forma predeterminada.

Variables globales estáticas:

        Las variables globales estáticas solo son visibles en este archivo, no se puede acceder a los archivos externos

Variables locales estáticas:

       Las variables locales estáticas solo son visibles en el alcance definido, pero su ciclo de vida es todo el tiempo de ejecución del programa.

 

(2) función estática

             Las funciones estáticas se usan principalmente para ocultar funciones. Las funciones estáticas modificadas solo se pueden usar en el archivo actual. La dirección de la función no se puede encontrar en otros archivos, e incluir es inútil.

 

2) Estático en diseño orientado a objetos

Puede usar el nombre de clase :: llamar directamente a miembros de datos estáticos públicos y funciones de miembros estáticos

(1) Miembros de datos estáticos

         No importa cuántas instancias de esta clase, este miembro de datos estáticos es el único.

         Los miembros de datos estáticos modificados no asignan memoria en la pila sino que asignan memoria en la sección .data,

        Los miembros de datos con modificación estática no se pueden inicializar llamando al constructor, por lo que los miembros de datos con modificación estática se deben definir fuera de la clase y no se pueden inicializar cuando se definen. Definido en cpp, declarado en el archivo de encabezado. Si se define en el archivo de encabezado, cuando varios archivos incluyen este archivo de encabezado, la definición se repetirá.

(2) función miembro estático

           La ventaja es que no necesita un objeto para llamar a esta función, solo use el nombre de la clase.

          Las funciones miembro estáticas pueden definirse dentro o fuera de la clase, pero deben declararse dentro de la clase;

         Las funciones miembro estáticas no tienen estos punteros, por lo que no pueden referirse directamente a miembros de datos no estáticos o llamar funciones miembro no estáticas de una clase, solo llamar a datos miembro estáticos y funciones miembro estáticas de la clase

         El miembro estático no está compuesto de ningún objeto y no depende de la llamada del objeto, por lo que el método del miembro estático no puede declararse como const, porque const solo define objetos de esta clase;

          Los métodos de miembro estático no se pueden declarar como funciones virtuales al mismo tiempo.

 

 

Publicado 59 artículos originales · Me gusta46 · Visitas 30,000+

Supongo que te gusta

Origin blog.csdn.net/sinat_41852207/article/details/104716058
Recomendado
Clasificación