static 用法

一、static 关键字

     使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型。例如,下面的类声明为 static,并且只包含 static 方法。

 

     static class CompanyEmployee
       {
           public static string GetCompanyName(string name) { ... }
           public static string GetCompanyAddress(string address) { ... }
       }

 

二、staic 的引用

 

     若要引用静态成员 x,请使用完全限定名(除非可从相同范围访问):例如

      public class MyBaseC
      {
         public struct MyStruct
         {
             public static int x = 100;
         }
      }

 

     引用静态成员:MyBaseC.MyStruct.x
三、为什么要用static
      在static所修饰的类型所包含的字段或方法中不属于任何实例的时候,应用static修饰。
四、应用须知
     尽管类的实例包含该类所有实例字段的单独副本,但每个静态字段只有一个副本
     不可以使用this来引用静态方法或属性访问器。
     如果对类应用 static 关键字,则该类的所有成员都必须是静态的。
     类(包括静态类)可以有静态构造函数。在程序开始和实例化类之间的某个时刻调用静态构造函数。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在C++中,static关键字主要用于限定对象所使用的内存区域。根据static所应用对象的不同,可以分为全局对象、本地静态对象和类静态成员。在全局变量中使用static关键字,可以将变量存储在静态存储区,使得在函数调用完成后不会释放变量。相比之下,如果没有static修饰符,变量在函数重新被调用时会被再次初始化。\[2\]举个例子,假设有以下代码: ```cpp #include <iostream> using namespace std; int foo1(void){ static int i = 10; return i++; } int foo2(void){ int j = 10; return j++; } int main(void){ cout << "第一次 foo1()=" << foo1() << endl; cout << "第一次 foo2()=" << foo2() << endl; cout << "第二次 foo1()=" << foo1() << endl; cout << "第二次 foo2()=" << foo2() << endl; return 0; } ``` 在这个例子中,foo1()函数中的变量i被声明为静态变量,所以每次调用foo1()函数时,i的值会递增。而foo2()函数中的变量j没有被声明为静态变量,所以每次调用foo2()函数时,j的值都会重新初始化为10。\[3\]这就是C++中static关键字的用法。 #### 引用[.reference_title] - *1* *3* [C++ 语法篇之 static 用法](https://blog.csdn.net/yixiwuha/article/details/123145702)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [C++ static用法总结](https://blog.csdn.net/kupe87826/article/details/121310136)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值