Rozdíl mezi statickou a konstantní funkcí v C++
Statická funkce : Je to členská funkce, která se používá pouze pro přístup k 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();> }> |
Výstup:
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;> }> |
Výstup:
1
Tabulkový rozdíl mezi statickou funkcí a konstantní funkcí:
| Statická funkce | Konstantní funkce |
|---|---|
| Je deklarován pomocí statické klíčové slovo . | Je deklarován pomocí klíčové slovo const . |
| Neumožňuje opětovnou úpravu proměnných nebo datových členů nebo funkcí. Místo toho je přiděleno po dobu životnosti programu. | Umožňuje specifikovat, zda je proměnná modifikovatelná nebo ne. |
| Pomáhá volat funkce pomocí třídy bez použití objektů. | Pomáhá nám vyhnout se úpravám objektů. |
| Tuto funkci mohou volat pouze statické datové členy a statické členské funkce. | Tuto funkci lze volat pomocí libovolného typu objektu. |
| Je užitečné deklarovat globální data, která by se měla aktualizovat, dokud je program v paměti, použít k omezení přístupu k funkcím, opětovnému použití stejného názvu funkce v jiných souborech atd. | Je užitečný s ukazateli nebo odkazy předávanými funkci, používá se k zamezení náhodným změnám objektu, může být volán libovolným typem objektu atd. |
| Je to členská funkce, která obecně umožňuje přístup k funkci pomocí třídy bez použití instance třídy. | Je to členská funkce, která je v programu obecně deklarována jako konstantní. |