码迷,mamicode.com
首页 > 其他好文 > 详细

static ,const

时间:2018-09-01 21:49:36      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:col   包含   形参   说明   通过   告诉   .com   类的成员   访问   

函数原型作用域:作用范围为函数形参表范围,起始于“(”,结束于“)”,这是声明

定义是属于局部作用域,所以声明的时候不写形参名字也可以

类作用域:包含类体及在类外实现的本类成员函数的函数体

静态生存期:其生存期与程序整个运行期是一致的

动态生存期:开始于程序执行到声明处,结束于命名该标识符的作用域结束处

static:局部变量在函数内定义,它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量,退出该函数后,尽管该变量还继续存在,但不能使用它,且仅初始化一次,也是唯一的一次初始化

加static后,就会对其它源文件隐藏,初始值为0

静态函数成员主要用于处理该类的静态数据

----------------------------------------------------------------

静态函数和非静态成员函数的区别:进入到函数体后,这个函数体能不能知道是哪个对象调用的它,对于非静态的属于对象的函数,它能知道是通过哪个对象调用的它,静态的则不能

静态数据成员:不属于任何一个对象,需要定义静态的函数成员来处理静态数据

静态成员函数即使用对象名点函数名,也不能知道是谁调用了它,所以静态成员函数一般不用来处理对象的数据,一般用来处理属于整个类的静态数据的

静态的成员函数既可以通过类名,作用域分辨符去调用,也可以通过对象名点函数名的方式去调用

----------------------------------------------------------------

友元函数是在类声明中由关键字friend修饰说明的非本类成员函数

在它函数体中能通过对象名访问private和protected成员

友元函数不是类的成员,虽然有权限访问对象中的私有数据,但得告诉它访问哪个对象,所以需要友元函数来处理对象中的私有数据,就要将对象作为参数传给这个函数

-----------------------------------------------------------------

常类型:

          常对象:必须被初始化,不能被更新     格式:const 类名 对象名

         常成员:用const修饰的类成员:常数据成员和常函数成员

    常引用:被引用的对象不能被更新,只读引用      格式:const  类型说明符  &引用名

        常成员函数:专门用来处理常对象的,绝不改变对象的状态

const也是区分重载函数的的选择之一

常对象只能通过常成员函数处理

对象的成员,类的成员都可以定义为常函数,一旦一个成员定义为常成员,就只能在初始化时给它初始值,不可能也不允许再给它赋值了。

每个成员函数都有可能改变对象的状态,用常函数处理。

不打算改变对象状态的函数,主动都说明为常函数

常成员不可以放在构造函数的函数体中赋值,必须在初始化列表中初始化,以后就不许再赋值了

-----------------------------------------------------------------------

只要在标识符def定义过,就说明我们竖起了标签,按照这个记号规定的定义,我们应该让编译器去编译相应程序段

引自:https://www.cnblogs.com/songdanzju/p/7422380.html

static ,const

标签:col   包含   形参   说明   通过   告诉   .com   类的成员   访问   

原文地址:https://www.cnblogs.com/ymd12103410/p/9571462.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!