胆小鬼连幸福都会害怕,碰到棉花都会受伤,有时还被幸福所伤。–太宰治《人间失格》说明static,英文单词的意思是“静态的”。该关键字用来修饰变量和函数,作用是约束变量和函数的作用范围。该关键字修饰函数和变量的效果是不同的,下面逐一说明。修饰变量(分为全局变量和局部变量)修饰全局变量作用是约束其作用范围为被定义的文件,比如你定义其所在的.c文件。其实更准确的说是,其作用范围是自定义处开始到文件结尾。修饰局部变量因为局部变量自身就自带约束其作用范围只能在其定义的代码块(函数等)的作用,使用static修饰后,会将该变量的值存在内存的静态区域,也就是说这个变量和全局变量拥有一样的生命周期,也就是有记
胆小鬼连幸福都会害怕,碰到棉花都会受伤,有时还被幸福所伤。–太宰治《人间失格》说明static,英文单词的意思是“静态的”。该关键字用来修饰变量和函数,作用是约束变量和函数的作用范围。该关键字修饰函数和变量的效果是不同的,下面逐一说明。修饰变量(分为全局变量和局部变量)修饰全局变量作用是约束其作用范围为被定义的文件,比如你定义其所在的.c文件。其实更准确的说是,其作用范围是自定义处开始到文件结尾。修饰局部变量因为局部变量自身就自带约束其作用范围只能在其定义的代码块(函数等)的作用,使用static修饰后,会将该变量的值存在内存的静态区域,也就是说这个变量和全局变量拥有一样的生命周期,也就是有记
🌹作者:云小逸📝个人主页:[云小逸的主页]📝码云:云小逸(YunXiaoYi003)🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。希望春天来之前,我们一起面朝大海,春暖花开!🤟👏专栏:C语言初阶👏日常杂记👏staticstatic一般用于修饰局部变量,全局变量,函数;(1)static修饰局部变量:#includevoidtest(){ inta=1; a++; printf("%d",a);}intmain(void){ inti=0; while(i此时结果
🌹作者:云小逸📝个人主页:[云小逸的主页]📝码云:云小逸(YunXiaoYi003)🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前,其次就是现在!学会自己和解,与过去和解,努力爱自己。希望春天来之前,我们一起面朝大海,春暖花开!🤟👏专栏:C语言初阶👏日常杂记👏staticstatic一般用于修饰局部变量,全局变量,函数;(1)static修饰局部变量:#includevoidtest(){ inta=1; a++; printf("%d",a);}intmain(void){ inti=0; while(i此时结果
目录final关键字final修饰变量final修饰方法final修饰类static关键字static修饰变量static修饰方法static修饰代码块static定义内部类关于初始化顺序final关键字final修饰变量被修饰的变量不能被改写对于基本类型来说,其值不能改变对于引用类型(对象),对象的引用不能改变,但对象内部的属性是可以改变的tips:在并发编程中,适当用final修饰一些只读变量,有利于减少额外的同步开销final修饰方法被修饰的方法不能被子类重写private方法隐式被定为final,所以若子类中定义的方法和父类中的private方法命名相同。那么此时子类并不是重写该父类方
目录final关键字final修饰变量final修饰方法final修饰类static关键字static修饰变量static修饰方法static修饰代码块static定义内部类关于初始化顺序final关键字final修饰变量被修饰的变量不能被改写对于基本类型来说,其值不能改变对于引用类型(对象),对象的引用不能改变,但对象内部的属性是可以改变的tips:在并发编程中,适当用final修饰一些只读变量,有利于减少额外的同步开销final修饰方法被修饰的方法不能被子类重写private方法隐式被定为final,所以若子类中定义的方法和父类中的private方法命名相同。那么此时子类并不是重写该父类方
static_caststatic_cast相当于C语言里面的强制转换,适用于:用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。进行上行转换(把派生类的指针或引用转换成基类表示)是安全的;进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的。用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。把空指针转换成目标类型的空指针。把任何类型的表达式转换成void类型。注意:static_cast不能转换掉expression的const、volatile、或者__unaligned属性。dynamic_cast转换方式:
static_caststatic_cast相当于C语言里面的强制转换,适用于:用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。进行上行转换(把派生类的指针或引用转换成基类表示)是安全的;进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的。用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。把空指针转换成目标类型的空指针。把任何类型的表达式转换成void类型。注意:static_cast不能转换掉expression的const、volatile、或者__unaligned属性。dynamic_cast转换方式:
C++的强制类型转换,除了继承自C语言的写法((目标类型)表达式)之外,还新增了4个关键字,分别是:static_cast、dynamic_cast、const_cast和reinterpret_cast。用法:xxx_cast(表达式)。由于后两者的使用频率较少,尤其是reinterpret_cast的风险性很高,所以就不展开讲了。这里主要将static_cast和dynamic_cast。static_cast解释所谓static_cast,顾名思义,就是静态的转换,是在编译期间就能确定的转换。主要用途用于基本数据类型之间的转换。#includeusingnamespacestd;intm
C++的强制类型转换,除了继承自C语言的写法((目标类型)表达式)之外,还新增了4个关键字,分别是:static_cast、dynamic_cast、const_cast和reinterpret_cast。用法:xxx_cast(表达式)。由于后两者的使用频率较少,尤其是reinterpret_cast的风险性很高,所以就不展开讲了。这里主要将static_cast和dynamic_cast。static_cast解释所谓static_cast,顾名思义,就是静态的转换,是在编译期间就能确定的转换。主要用途用于基本数据类型之间的转换。#includeusingnamespacestd;intm