logo

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++






javascript



// 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!>

Konstantní funkce : Je to funkce, která je v programu obecně deklarována jako konstantní. Zaručuje také, že nedovolí upravovat objekty ani volat žádné nekonstantní členské funkce. Určuje, že funkce je funkcí pouze pro čtení a nemění objekt, pro který je volána.

Program 2:

C++

délka bash struny




// 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;> }>

příkaz v uzlu js

>

>

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í.