当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ static和constant的区别用法及代码示例


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

程序1:

C++


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


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

静态函数和常量函数之间的表格差异:

Static Function

Constant Function

它是使用 static keyword 声明的。 它是使用 const keyword 声明的。
它不允许再次修改变量或数据成员或函数。相反,它是在程序的整个生命周期内分配的。 它允许指定变量是否可修改。
它有助于调用使用类而不使用对象的函数。 它帮助我们避免修改对象。
该函数只能由静态数据成员和静态成员函数调用。 可以使用任何类型的对象调用该函数。
声明全局数据很有用,当程序驻留在内存中时应该更新这些数据,用于限制对函数的访问,在其他文件中重用相同的函数名称等。 它对于传递给函数的指针或引用很有用,用于避免对象的意外更改,可以由任何类型的对象调用等。
它是一个成员函数,通常允许使用类访问函数而不使用类的实例。 它是一个成员函数,一般在程序中声明为常量。


相关用法


注:本文由纯净天空筛选整理自madhurihammad大神的英文原创作品 Difference between static and constant function in C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。