C++中的静态对象
C++是一种编程语言,它提供了程序员控制系统内存和资源的能力。在C++编程语言的帮助下,我们可以开发高性能的应用程序。在C++中,静态是一种方法,我们可以在其中创建变量、对象和函数;然后,我们可以在程序的整个生命周期中为这些函数在编程语言中分配一些空间。一旦我们可以使用静态的方法或变量,那么就不可能再去修改它。
在C++中,静态成员函数的初始化在整个程序中只实现一次。在这里,编译器会保留所有的变量直到程序完成。C++程序允许程序员在函数内部或外部实现静态对象。在这篇文章中,我们将通过一些例子来了解静态的不同类型。
C++静态的语法
静态变量的语法如下。
static <datatype> <name_of_variable> = it's_value;
静态函数的语法如下。
static {
...
}
函数中的静态变量
静态变量是一种变量类型,它在程序的生命周期内为函数分配空间。在C++中,一旦我们为静态变量分配了空间,它就在程序的生命周期中占据了空间。
即使静态变量被调用无数次,但分配给它的空间是不变的。而在最后一次调用中更新的变量值,将被用于静态函数的下一次调用。
在C++中,静态变量被用来实现联合程序,该程序被用来存储函数的最后状态的值。在下面的例子中,我们把add作为一个静态变量,当函数demo()被调用时,它被更新。
例子1
#include
#include
using namespace std;
void demo()
{
static int add = 0;
cout << add << "/";
add++;
}
int main()
{
for (int i=10; i>0; i--)
demo();
return 0;
}
输出。
类中的静态变量
我们知道静态变量在程序中只被初始化一次,并且在程序中为该变量分配了一些空间。正因为如此,静态变量被每个不同的对象所共享。不可能为一个静态变量创建不同的副本。在下面的例子中,我们已经看到,静态变量’j’被取走并作为明确的使用。
例2
#include
using namespace std;
class demo
{
public:
static int j;
demo()
{
};
};
int demo::j = 5;
int main()
{
demo pipe;
cout << pipe.j;
int p= pipe.j - 6;
cout << endl;
cout << p;
}
输出。
类的静止对象
对象也可以被声明为静态的,就像上面例子中声明的变量一样。当我们声明对象为静态时,它在程序的生命周期内也有一定的范围。在下面的例子中,对象 “nex “已经在if块中被创建为静态对象。
如果该对象是作为非静态对象创建的,那么该变量的范围将只在if块内,一旦if块的控制权结束,析构器就会被调用。这个问题必须避免,所以对象必须像程序中那样被静态创建。这使得一旦主程序结束,析构器就会被调用。这是唯一可能的,因为静态对象和它在整个程序生命周期中的范围。
例三
#include
using namespace std;
class main
{
int m = 0;
public:
main()
{
m = 0;
cout << "javatpoint\n";
}
~demo()
{
cout << "Data Science\n";
}
};
int main()
{
int o = 0;
if (o==0)
{
static demo nex;
}
cout << "Machine Learning\n";
}
输出。
结论
基于上面的文章,我们可以理解C++中的静态概念。本文讨论了不同的静态方法,并列举了例子和它们的工作原理。这些例子将有助于理解这个概念并根据程序员的要求使用它。