Differenza tra funzione statica e costante in C++
Funzione statica : È una funzione membro utilizzata per accedere solo 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();> }> |
Produzione:
techcodeview.com!
Programma 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;> }> |
Produzione:
1
Differenza tabellare tra funzione statica e funzione costante:
| Funzione statica | Funzione costante |
|---|---|
| Viene dichiarato utilizzando il file parola chiave statica . | Viene dichiarato utilizzando il file parola chiave const . |
| Non consente di modificare nuovamente i membri variabili o dati o le funzioni. Viene invece assegnato per tutta la durata del programma. | Permette di specificare se una variabile è modificabile o meno. |
| Aiuta a chiamare funzioni che utilizzano la classe senza utilizzare oggetti. | Ci aiuta a evitare di modificare gli oggetti. |
| Questa funzione può essere chiamata solo da membri dati statici e funzioni membro statiche. | Questa funzione può essere chiamata utilizzando qualsiasi tipo di oggetto. |
| È utile dichiarare dati globali che dovrebbero essere aggiornati mentre il programma è in memoria, utilizzati per limitare l'accesso alle funzioni, riutilizzare lo stesso nome di funzione in altri file, ecc. | È utile con puntatori o riferimenti passati a funzioni, utilizzato per evitare modifiche accidentali all'oggetto, può essere chiamato da qualsiasi tipo di oggetto, ecc. |
| È una funzione membro che generalmente consente di accedere alla funzione utilizzando la classe senza utilizzare un'istanza della classe. | È una funzione membro che viene generalmente dichiarata come costante nel programma. |