在C++中静态函数和常量函数的区别

在C++中静态函数和常量函数的区别

静态函数: 是一种成员函数,用于访问仅静态数据成员。它不能访问非静态数据成员,甚至不能调用非静态成员函数。即使类的对象不存在,它也可以被调用。它还用于在类的不同对象之间维护类成员函数的单个副本。

程序1:

// C++ program to illustrate the use
// of static function
#include "bits/stdc++.h"
using namespace std;
  
class A {
public:
    static void f()
    {
        cout << "GeeksforGeeks!";
    }
};
  
// Driver Code
int main()
{
    A::f();
}
GeeksforGeeks!

常量函数: 是一种在程序中通常声明为常量的函数。它还保证不允许修改对象或调用任何非常量成员函数。它指定函数是只读函数,并且不修改调用它的对象。

程序2:

// C++ program to illustrate the use
// of const keyword
  
#include <iostream>
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关键字进行声明。
它不允许对变量、数据成员或函数进行修改。相反,它在程序的整个生存期内被分配。 它允许指定变量是否可修改。
它有助于在不使用对象的情况下调用使用类的函数。 它有助于避免修改对象。
只能由静态数据成员和静态成员函数调用此功能。 任何类型的对象都可以使用该函数。
它有助于声明应在程序存活期内更新的全局数据,用于限制对函数的访问、重用其他文件中相同的函数名称等。 它与传递给函数的指针或引用一起使用,用于避免意外更改对象,可以被任何类型的对象调用等。
它是一种成员函数,通常允许通过使用类来访问函数,而无需使用类的实例。 它是一种在程序中通常声明为常量的成员函数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程