Skillnaden mellan statisk och konstant funktion i C++
Statisk funktion : Det är en medlemsfunktion som endast används för att komma åt 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();> }> |
Produktion:
techcodeview.com!
Program 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;> }> |
Produktion:
1
Tabellskillnad mellan statisk funktion och konstant funktion:
| Statisk funktion | Konstant funktion |
|---|---|
| Det deklareras med hjälp av statiskt nyckelord . | Det deklareras med hjälp av const nyckelord . |
| Det tillåter inte att variabel- eller datamedlemmar eller funktioner ändras igen. Istället tilldelas det för en livstid av programmet. | Det gör det möjligt att specificera om en variabel är modifierbar eller inte. |
| Det hjälper att anropa funktioner som använder klass utan att använda objekt. | Det hjälper oss att undvika att modifiera objekt. |
| Denna funktion kan endast anropas av statiska datamedlemmar och statiska medlemsfunktioner. | Denna funktion kan anropas med vilken typ av objekt som helst. |
| Det är användbart att deklarera globala data som ska uppdateras medan programmet finns i minnet, används för att begränsa åtkomst till funktioner, återanvända samma funktionsnamn i andra filer, etc. | Det är användbart med pekare eller referenser som skickas till funktion, används för att undvika oavsiktliga ändringar av objekt, kan anropas av vilken typ av objekt som helst, etc. |
| Det är en medlemsfunktion som i allmänhet tillåter åtkomst till funktion med hjälp av klass utan att använda en instans av klassen. | Det är en medlemsfunktion som generellt deklareras som konstant i programmet. |