Diferencia entre función estática y constante en C++
Función estática : Es una función miembro que se utiliza para acceder sólo a C++.
// C++ program to illustrate the use> // of static function> #include 'bits/stdc++.h'> using> namespace> std;> > class> A {> public> :> > static> void> f()> > {> > cout < <> 'techcodeview.com!'> ;> > }> };> > // Driver Code> int> main()> {> > A::f();> }> |
Producción:
techcodeview.com!
Programa 2:
C++
// C++ program to illustrate the use> // of const keyword> > #include> using> namespace> std;> > // Driver Code> int> main()> {> > const> double> a = 1;> > > // Using the below line of code> > // gives error> > // a = 2.21;> > > cout < < a < < endl;> > > return> 0;> }> |
Producción:
1
Diferencia tabular entre función estática y función constante:
| Función estática | Función constante |
|---|---|
| Se declara utilizando el palabra clave estática . | Se declara utilizando el palabra clave constante . |
| No permite que se vuelvan a modificar funciones o miembros de datos o variables. En cambio, se asigna durante toda la vida del programa. | Permite especificar si una variable es modificable o no. |
| Es útil llamar a funciones que usan clases sin usar objetos. | Nos ayuda a evitar modificar objetos. |
| Esta función solo puede ser llamada por miembros de datos estáticos y funciones de miembros estáticos. | Esta función se puede llamar usando cualquier tipo de objeto. |
| Es útil declarar datos globales que deben actualizarse mientras el programa permanece en la memoria, usarse para restringir el acceso a funciones, reutilizar el mismo nombre de función en otros archivos, etc. | Es útil con punteros o referencias pasadas a funciones, se usa para evitar cambios accidentales en el objeto, puede ser llamado por cualquier tipo de objeto, etc. |
| Es una función miembro que generalmente permite acceder a una función usando una clase sin usar una instancia de la clase. | Es una función miembro que generalmente se declara como constante en el programa. |