广告
返回顶部
首页 > 资讯 > 精选 >C#中Static修饰的作用是什么
  • 333
分享到

C#中Static修饰的作用是什么

2023-06-18 00:06:45 333人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关C#中Static修饰的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.类的静态成员:classA  {  p

这篇文章将为大家详细讲解有关C#中Static修饰的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1.类的静态成员:

classA  {  private  staticints_  }   intA::s_=0 //注意,这里没有static的修饰!

类的静态成员是该类所有实例的共用成员,也就是在该类的范畴内是个全局变量,也可以理解为是一个名为A::s_的全局变量,只不过它是带有类安全属性的,道理很简单,因为它是在程序初始化的时候分配的,所以只分配一次,所以就是共用的,
类的静态成员必须初始化,道理也是一样的,因为它是在程序初始化的时候分配的,所以必须有初始化,类中只是声明,在cpp中才是初始化,你可以在初始化的代码上放个断点,在程序执行main的***条语句之前就会先走到那,如果你的静态成员是个类,那么就会调用到它的构造函数。

2.类的静态函数:

classA  {  private:  staticvoidfunc(int);  }

实现的时候也不需要C# Static修饰,因为Static是声明性关键字,类的静态函数是在该类的范畴内的全局函数,不能访问类的私有成员,只能访问类的静态成员,不需要类的实例即可调用,实际上,它就是增加了类的访问权限的全局函数:void A::func(int),静态成员函数可以继承和覆盖,但无法是虚函数。

3.只在cpp内有效的全局变量:

在cpp文件的全局范围内声明:
Static int g_ = 0  这个变量的含义是在该cpp内有效,但是其他的cpp文件不能访问这个变量,如果有两个cpp文件声明了同名的全局静态变量,那么他们实际上是独立的两个变量。

如果不使用Static声明全局变量:
int g_ = 0  那么将无法保证这个变量不被别的cpp共享,也无法保证一定能被别的cpp共享,因为要让多个cpp共享一个全局变量,应将它声明为extern(外部)的,也有可能编译会报告变量被重复定义,总之不建议这样的写法,不明确这个全局变量的用法。

如果在一个头文件中声明:
Static int g_vaule = 0  那么会为每个包含该头文件的cpp都创建一个全局变量,但他们都是独立的,所以也不建议这样的写法,一样不明确需要怎样使用这个变量,因为只是创建了一组同名而不同作用域的变量。

这里顺便说一下如何声明所有cpp可共享的全局变量,在头文件里声明为extern的:
extern int g_  注意,不要初始化值!

然后在其中任何一个包含该头文件的cpp中初始化(一次)就好:
int g_ = 0  初始化一样不要extern修饰,因为extern也是声明性关键字。
然后所有包含该头文件的cpp文件都可以用g_这个名字访问相同的一个变量。

4.只在cpp内有效的全局函数:

在cpp内声明:
Static void func()  函数的实现不需要C# Static修饰,那么这个函数只可在本cpp内使用,不会同其他cpp中的同名函数引起冲突,道理和如果不使用Static会引起的问题和第3点一样,不要在头文件中声明Static的全局函数,不要在cpp内声明非Static的全局函数,如果你要在多个cpp中复用该函数,就把它的声明提到头文件里去,否则在cpp内部声明需要加上C# Static修饰,在C语言中这点由为重要!

关于C#中Static修饰的作用是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: C#中Static修饰的作用是什么

本文链接: https://www.lsjlt.com/news/294805.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#中Static修饰的作用是什么
    这篇文章将为大家详细讲解有关C#中Static修饰的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.类的静态成员:classA  {  p...
    99+
    2023-06-18
  • es6中static修饰符指的是什么
    这篇“es6中static修饰符指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“e...
    99+
    2022-10-19
  • c++中static的作用是什么
    在C++中,`static`关键字有以下几种作用:1. 静态变量:在函数内部声明的静态变量在程序运行期间只被初始化一次,并且在函数运...
    99+
    2023-10-12
    c++
  • C++中常用修饰符static的介绍
    这篇文章主要介绍“C++中常用修饰符static的介绍”,在日常操作中,相信很多人在C++中常用修饰符static的介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++中常用修饰符static的介绍”的疑...
    99+
    2023-06-17
  • C++ static的作用是什么
    这篇“C++ static的作用是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++ static...
    99+
    2023-07-05
  • C++中static修饰符的详解及其作用介绍
    目录概述静态数据成员引用静态数据成员用类名访问数据成员静态成员函数综合案例概述 static (静态) 修饰符是用来控制变量的存储方式和可见性的. 静态局部变量存储在静态区域: s...
    99+
    2022-11-12
  • static在c++中的作用是什么
    在C++中,关键字static有以下几种作用:1. 修饰变量:当static修饰一个局部变量时,该变量在程序的生命周期内只被初始化一...
    99+
    2023-08-31
    c++ static
  • C#中new修饰符的作用是什么
    C#中new修饰符的作用是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C# new修饰符是起什么作用?◆C# new修饰符与 new 操作符是两个概念;◆C# new...
    99+
    2023-06-17
  • C#中abstract修饰符的作用是什么
    C#中abstract修饰符的作用是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C# abstract修饰符是什么意思?C# abstract修饰符可以用于类、方法、...
    99+
    2023-06-17
  • C# 中virtual修饰符的作用是什么
    C# 中virtual修饰符的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C# virtual修饰符用于修改方法或属性的声明,在这种情况下,方法或属性被称作虚拟成员...
    99+
    2023-06-17
  • C 语言中 static 的作用是什么
    这篇文章给大家介绍C 语言中 static 的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。static 用来说明静态变量。如果是在函数外面定义的,那么其效果和全局变量类似,但是,static定义的变量只能在...
    99+
    2023-06-03
  • java中的static修饰符怎么使用
    这篇文章主要讲解了“java中的static修饰符怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java中的static修饰符怎么使用”吧!static关键词用于声明独立于对象的静态...
    99+
    2023-07-06
  • C语言中static关键字的作用是什么
    本篇内容介绍了“C语言中static关键字的作用是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!static这个关键字是“静态”的意思,...
    99+
    2023-07-05
  • python中修饰器的作用是什么
    今天就跟大家聊聊有关python中修饰器的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrap...
    99+
    2023-06-14
  • c语言中static修饰函数的方法及代码
    1、静态函数只能在声明它的文件中可见,其他文件不能引用该函数。 2、不同的文件可以使用相同名字的静态函数,互不影响。 3、使用static声明的函数不能被另一个文件引用。 实例 ...
    99+
    2022-11-12
  • java中static的作用是什么
    在Java中,static关键字的作用主要有以下几个方面:1. 静态变量:static关键字用于定义静态变量,也称为类变量。静态变量...
    99+
    2023-08-19
    java static
  • c语言关键字static的作用是什么
    在C语言中,关键字static有以下几种作用:1. 静态变量:static关键字可以用于声明静态变量,静态变量存储在静态存储区,在程...
    99+
    2023-09-14
    c语言 static
  • Vue.js中.native修饰符的作用是什么
    本篇文章为大家展示了Vue.js中.native修饰符的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。.native修饰符官方对.native修饰符的解释...
    99+
    2022-10-19
  • es6修饰器的作用是什么
    这篇文章主要讲解了“es6修饰器的作用是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“es6修饰器的作用是什么”吧!在es6中,修饰器用来注释或修改类和类的方法,依赖于ES5的“Obje...
    99+
    2023-07-05
  • static在Java中的作用是什么
    在Java中,static关键字有以下几个作用:1. 静态变量:使用static关键字声明的变量称为静态变量(类变量),它们存储在静...
    99+
    2023-08-31
    Java static
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作