Diferència entre funció estàtica i constant en C++
Funció estàtica : És una funció membre que s'utilitza per accedir només 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();> }> |
Sortida:
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;> }> |
Sortida:
1
Diferència tabular entre funció estàtica i funció constant:
| Funció estàtica | Funció constant |
|---|---|
| Es declara utilitzant el paraula clau estàtica . | Es declara utilitzant el paraula clau const . |
| No permet que les variables o les dades o les funcions es tornin a modificar. En canvi, s'assigna durant tota la vida del programa. | Permet especificar si una variable és modificable o no. |
| Ajuda cridar funcions que utilitzen classe sense utilitzar objectes. | Ens ajuda a evitar modificar objectes. |
| Aquesta funció només la poden cridar els membres de dades estàtiques i les funcions de membres estàtiques. | Aquesta funció es pot cridar utilitzant qualsevol tipus d'objecte. |
| És útil declarar dades globals que s'han d'actualitzar mentre el programa viu a la memòria, utilitzades per restringir l'accés a funcions, reutilitzar el mateix nom de funció en altres fitxers, etc. | És útil amb punters o referències passats a la funció, s'utilitza per evitar canvis accidentals a l'objecte, pot ser cridat per qualsevol tipus d'objecte, etc. |
| És una funció membre que generalment permet accedir a la funció mitjançant class sense utilitzar una instància de la classe. | És una funció membre que generalment es declara com a constant al programa. |