static ,const
函数原型作用域:作用范围为函数形参表范围,起始于“(”,结束于“)”,这是声明
定义是属于局部作用域,所以声明的时候不写形参名字也可以
类作用域:包含类体及在类外实现的本类成员函数的函数体
静态生存期:其生存期与程序整个运行期是一致的
动态生存期:开始于程序执行到声明处,结束于命名该标识符的作用域结束处
static:局部变量在函数内定义,它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量,退出该函数后,尽管该变量还继续存在,但不能使用它,且仅初始化一次,也是唯一的一次初始化
加static后,就会对其它源文件隐藏,初始值为0
静态函数成员主要用于处理该类的静态数据
----------------------------------------------------------------
静态函数和非静态成员函数的区别:进入到函数体后,这个函数体能不能知道是哪个对象调用的它,对于非静态的属于对象的函数,它能知道是通过哪个对象调用的它,静态的则不能
静态数据成员:不属于任何一个对象,需要定义静态的函数成员来处理静态数据
静态成员函数即使用对象名点函数名,也不能知道是谁调用了它,所以静态成员函数一般不用来处理对象的数据,一般用来处理属于整个类的静态数据的
静态的成员函数既可以通过类名,作用域分辨符去调用,也可以通过对象名点函数名的方式去调用
----------------------------------------------------------------
友元函数是在类声明中由关键字friend修饰说明的非本类成员函数
在它函数体中能通过对象名访问private和protected成员
友元函数不是类的成员,虽然有权限访问对象中的私有数据,但得告诉它访问哪个对象,所以需要友元函数来处理对象中的私有数据,就要将对象作为参数传给这个函数
-----------------------------------------------------------------
常类型:
常对象:必须被初始化,不能被更新 格式:const 类名 对象名
常成员:用const修饰的类成员:常数据成员和常函数成员
常引用:被引用的对象不能被更新,只读引用 格式:const 类型说明符 &引用名
常成员函数:专门用来处理常对象的,绝不改变对象的状态
const也是区分重载函数的的选择之一
常对象只能通过常成员函数处理
对象的成员,类的成员都可以定义为常函数,一旦一个成员定义为常成员,就只能在初始化时给它初始值,不可能也不允许再给它赋值了。
每个成员函数都有可能改变对象的状态,用常函数处理。
不打算改变对象状态的函数,主动都说明为常函数
常成员不可以放在构造函数的函数体中赋值,必须在初始化列表中初始化,以后就不许再赋值了
-----------------------------------------------------------------------
只要在标识符def定义过,就说明我们竖起了标签,按照这个记号规定的定义,我们应该让编译器去编译相应程序段
引自:https://www.cnblogs.com/songdanzju/p/7422380.html
static ,const的更多相关文章
- 【转】C++ 类中的static,const,及引用类型的初始化
文档主要来自:http://blog.csdn.net/yjkwf/article/details/6067267 1. static类型 用static可以为类类型的所有对象所共有,像是全局对象,但 ...
- php类中的$this,static,const,self这几个关键字使用方法
本篇文章主要分享一下关于php类中的$this,static,final,const,self这几个关键字使用方法 $this $this表示当前实例,在类的内部方法访问未声明为const及stati ...
- C语言中auto,register,static,const,volatile的区别
1)auto 这个关键字用于声明变量的生存期为自动,即将不在任何类.结构.枚举.联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量.这个关键字不怎么多写,因为所有的变量默认就是aut ...
- c++中的static,const,const static以及它们的初始化
const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间. static表示的是静态的.类的静态成员函数.静态成员变量是和类相关的,而不是和类的 ...
- static, const
static 静态的,类的静态成员函数,静态成员变量是和类相关的,但不和具体对象相关.即使没有具体对象,也能调用类的静态成员函数和成员变量.一般类的静态函数就是一个全局函数,只是作用域在包含它的文件中 ...
- C语言之头文件,static与const关键字
[前言] 最近几个月在做一个C语言代码重构的项目,过程中也让我对之前在书本上学习到的东西有些补充和巩固,在本博中总结记录下,梳理下零碎的知识点和经验也加深印象,书写是为了更好地思考.平时也都是用印象笔 ...
- const,static,volatile关键字的作用
const关键字: 1.欲阻止一个变量被改变,可使用const,在定义该const变量时,需先初始化,以后就没有机会改变他了: 2.对指针而言,可以指定指针本身为const,也可以指定指针所指的数据为 ...
- 【C语言 C++】简单keywordRegister,Const,Static,Volatile,typedef,Define的理解
Register 用register声明的变量称着寄存器变量,在可能的情况下会直接存放在机器的寄存器 中.但对32位编译器不起作用.当global optimizations(全局优化)开的时候,它会 ...
- const,volatile,static,typdef,几个关键字辨析和理解
1.const类型修饰符 const它限定一个变量初始化后就不允许被改变的修饰符.使用const在一定程度上可以提高程序的安全性和可靠性.它即有预编译命令的优点也有预编译没有的优点.const修饰的变 ...
随机推荐
- centos6.5下oracle自动备份删除指定天数的文件
第一步先做一个备份 #!/bin/sh export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=/dbhome_1 export ORACLE_S ...
- C++ 关于 CMFCPropertyGridCtrl 的使用方法 之二 (原创)
接上一节所讲,这一节咱们重点讲一下CMFCPropertyGridCtrl 所支持的数据表格的建立过程 在上一节中,咱们已经了解到了 CMFCPropertyGridCtrl 是要用到实例函数:Ad ...
- 吴裕雄 22-MySQL 事务
MySQL 事务MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据 ...
- Hadoop集群(四) Hadoop升级
Hadoop前面安装的集群是2.6版本,现在升级到2.7版本. 注意,这个集群上有运行Hbase,所以,升级前后,需要启停Hbase. 更多安装步骤,请参考: Hadoop集群(一) Zookeepe ...
- 历届试题 大臣的旅费-(树的直径+dfs)
问题描述 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首 ...
- 历届试题 对局匹配-(dp)
问题描述 小明喜欢在一个围棋网站上找别人在线对弈.这个网站上所有注册用户都有一个积分,代表他的围棋水平. 小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起.如果两人分差 ...
- /WebRoot/WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...
- 常见三种字符编码的区别:ASCII、Unicode、UTF-8
什么是字符编码? 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255( ...
- vuex的几个细节
vuex中的state值一般是不能再外面修改的,如果开发者外面修改store里面的值就失去其存在的意义了,这里需要其加属性如下所示: const isDev = process.env.NODE_EN ...
- Requests库的文档高级用法
高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 url ...