,const和static是否可以一起使用?

用户投稿 98 0

关于“php_const_static”的问题,小编就整理了【3】个相关介绍“php_const_static”的解答:

const和static是否可以一起使用?

这两个关键字可以一起使用,当一起使用时,它们的先后顺序是没有限制的,谁在前面都一样,const是指常量,static则表示静态变量,它们一起使用时则表示一个静态常量.

当你声明一个变量并初始化后,你不想在后面的程序中对该变量进行修改的话,你就可以用const修饰符来修饰它,它告诉编译器这是一个常量,如果你对常量作了修改,编译的时候就会通不过,而静态变量则是在你声明之后,这个变量就一直常驻内存,直到程序结束它才会被销毁,例如你在一个自定义函数中定义了一个静态变量,当这个函数被调用结束,它里的静态变量依然存在,当第二次调用该函数时,这个变量并不会重新被分配内存,它的值则是上一次调用后它的值.

static变量和CONST的区别是什么?谢谢?

const和staticconst的区别:

一、全局的区别const规定变量在全局中是只读的变量,并且它的值无法被修改。staticconst规定变量在当前的模块中是只读的变量,无法再全局中被其他模块读取。

二、文件的区别const定义的指针,不赋初值编译时不报错,在初始化时应说明指针的指向。staticconst不能在定义对象时对变量初始化,就是不能用构造函数来初始化。

三、函数的区别const只能通过构造函数初始化列表进行,并且必须有构造函数。staticconst是静态的,属于类的静态成员函数。

四、类的区别const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的。因为类可以创建多个对象,不同的对象其const数据成员的值可以不同,所以不能在类声明中初始化const数据成员。staticconst初始化在类体外进行,初始化时不加该成员的访问权限控制符private,public等,并且初始化时使用作用域运算符来标明它所属类,因此,静态数据成员是类的成员,而不是对象的成员。

static和const的用法有什么区别?

static释义:

adj. 静态的;静电的;静力的

n. 静电;静电干扰

例句:

Stock market has been static for a long time.

股市已经长时间停滞不动了。

词组:

static electricityn. 静电;静位觉

static state静态状态

static pressure静压

视频:

const释义:

n. 常量,常数

n. (Const)人名;(罗)康斯特

例句:

Qualifying a method's formal parameter as const

将一个方法的形参设置为常量

对于C/C++语言来讲,const就是只读的意思,只在声明中使用;static一般有2个作用,规定作用域和存储方式.对于局部变量,static规定其为静态存储方式,每次调用的初始值为上一次调用的值,调用结束后存储空间不释放;对于全局变量,如果以文件划分作用域的话,此变量只在当前文件可见;对于static函数也是在当前模块内函数可见.static const 应该就是上面两者的合集.下面分别说明:全局:const,只读的全局变量,其值不可修改.static,规定此全局变量只在当前模块(文件)中可见.static const,既是只读的,又是只在当前模块中可见的.文件:文件指针可当作一个变量来看,与上面所说类似.函数:const,返回只读变量的函数.static,规定此函数只在当前模块可见.类:const,一般不修饰类,(在VC6.0中试了一下,修饰类没啥作用)static,C++中似乎没有静态类这个说法,一般还是拿类当特殊的变量来看.C#中有静态类的详细说明,且用法与普通类大不相同.

到此,以上就是小编对于“php_const_static”的问题就介绍到这了,希望介绍关于“php_const_static”的【3】点解答对大家有用。

抱歉,评论功能暂时关闭!