C++의 정적 함수와 상수 함수의 차이점

정적 함수 : 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();> }>

산출:

 techcodeview.com! 

상수 함수 : 일반적으로 프로그램에서 상수로 선언되는 함수입니다. 또한 객체 수정이나 const가 아닌 멤버 함수 호출을 허용하지 않는다는 것을 보장합니다. 이는 함수가 읽기 전용 함수이고 호출되는 객체를 수정하지 않음을 지정합니다.

프로그램 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;> }>

산출:

 1 

정적 함수와 상수 함수의 표 차이점:

정적 함수

상수 함수

이는 다음을 사용하여 선언됩니다. 정적 키워드 . 이는 다음을 사용하여 선언됩니다. const 키워드 .
변수나 데이터 멤버 또는 함수를 다시 수정할 수 없습니다. 대신 프로그램의 수명 동안 할당됩니다. 변수를 수정할 수 있는지 여부를 지정할 수 있습니다.
객체를 사용하지 않고 클래스를 사용하는 함수를 호출하는 데 도움이 됩니다. 이는 객체 수정을 방지하는 데 도움이 됩니다.
이 함수는 정적 데이터 멤버 및 정적 멤버 함수에 의해서만 호출될 수 있습니다. 이 함수는 모든 유형의 객체를 사용하여 호출할 수 있습니다.
프로그램이 메모리에 있는 동안 업데이트되어야 하고, 함수에 대한 액세스를 제한하고, 다른 파일에서 동일한 함수 이름을 재사용하는 데 사용되는 전역 데이터를 선언하는 것이 유용합니다. 함수에 전달된 포인터나 참조에 유용하고, 실수로 객체가 변경되는 것을 방지하는 데 사용되며, 모든 유형의 객체에서 호출할 수 있습니다.
일반적으로 클래스의 인스턴스를 사용하지 않고 클래스를 사용하여 함수에 접근할 수 있게 해주는 멤버 함수입니다. 일반적으로 프로그램에서 상수로 선언되는 멤버 함수입니다.