当前位置: 首页 > 知识库问答 >
问题:

静态变量是如何使用的,它是如何作为计数器使用的?[副本]

赵英范
2023-03-14
 class Order{
 int Number;

public:
    Order(){
     int static i=0;
     Number=++i;
     }

   int getNumber(){
      return Number;
   }
    .
    .
    Order *o1 = new Order();
    o1.getNumber();
    Order *o2 = new Order();
    o2.getNumber();
    Order *o3 = new Order();
    o3.getNumber();
    //Result :  1 ,2 ,3 
1,1,1

但似乎静态变量背后的过程是不同的!那么,这个静态变量背后到底发生了什么,它是如何工作的呢?

共有1个答案

闻人浩波
2023-03-14

static类变量在该类的所有实例中都有一个实例。对于标准变量,类的每个实例都创建该变量的一个实例,但是对于static变量,它们都共享同一个实例。如果您要打印静态int i的内存地址,您将看到,无论您使用的是哪个顺序,内存地址都是相同的。

有人已经在评论中提到了这一点,但如果其他人没有注意到,请阅读C++中的static:static关键字及其在C++中的各种用法

您的问题很可能被否决了,因为您可以通过搜索而不是提问,轻松地了解static关键字及其用法。

 类似资料: