C++ const关键字以及static关键字
const可以用来修饰类中的成员函数以及成员变量以及类的对象
1、const修饰成员函数:
该函数是只读函数,不允许修改任何成员变量,但是可以使用类中的任何成员变量;
不允许修改任何非static的类型的成员变量;
不允许调用其他非const的成员函数;
2、const修饰成员变量
该成员变量不允许被修改;
该变量只能在初始化列表中进行赋值;
3、const修饰类的对象
该对象只能调用const的成员函数,确保const类型的对象永远不被改变;
4、使用const修饰的成员变量只能在初始化列表中进行初始化;使用构造函数初始化列表并没有效率上的优势,只是简洁明了,且变量初始化的方式与在初始化列表中的顺序无关,只与变量在类中声明的顺序相关;
static关键字
1、对象与对象之间是相互独立的,想要共享数据,需要使用静态成员函数以及静态成员变量;
2、静态成员变量是在程序编译时分配空间,在程序结束时释放空间;
3、静态成员变量的初始化需要在类的外面进行,格式:int Mystring::static_A = 10;,不能使用初始化列表对静态成员变量进行初始化;
4、既可以通过类名对静态成员进行使用,也可以通过对象名对静态成员变量进行使用,既可以同类名来调用静态成员函数,也可以通过对象名来调用静态成员函数,但是非静态成员变量以及成员函数都只能同类的对象进行调用;
5、在静态成员函数中只可以使用静态成员变量,非静态的成员变量以及成员函数由于需要在类的对象实例化的时候才会分配内存,因此在静态成员函数中是不可以使用非静态的成员变量以及不能调用非静态的成员函数的;
C++ const关键字以及static关键字的更多相关文章
- abstract关键字、final关键字、static关键字、访问修饰符详解
abstract关键字.final关键字.static关键字.访问修饰符详解 abstract关键字: final关键字: static关键字: 访问修饰符:
- 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)
094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)
093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)
092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 01 static关键字(上)
091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- PHP的final关键字、static关键字、const关键字
在PHP5中新增加了final关键字,它可以加载类或类中方法前.但不能使用final标识成员属性,虽然final有常量的意思,但在php中定义常量是使用define()函数来完成的. final关键字 ...
- java中this关键字和static关键字和super关键字的用法
this关键字 1. this 关键字是类内部当中对自己的一个引用,可以方便类中方法访问自己的属性: 2.可以返回对象的自己这个类的引用,同时还可以在一个构造函数当中调用另一个构造函数(这里面上面有个 ...
- 构造方法,this关键字,static关键字,封装,静态变量
1.构造方法 构造方法是一种特殊的方法,是专门用于创建/实例化对象的方法. 构造方法根据是否有参数分为两类:1.无参构造方法 2.有参构造方法 1.1无参构造方法 无参构造方法就是构造方法中没有参数 ...
- Java基础super关键字、final关键字、static关键字、匿名对象整理
super关键字 10.1子父类中构造方法的调用 public class Test { public static void main(String[] args) { new Zi(); } } ...
随机推荐
- nginx 的使用
nginx 反向代理,并拥有其高效的性能,并发效果好,是解决跨域最好的选择 nginx 的使用 1. 下载:在官网上下载 window 系统的 nginx 网址:http://nginx.org/en ...
- 关于jenkins
启动不了时可更改端口 java -jar jenkins.war –httpPort=8090
- Java面试题整理(转载)
转载地址:https://blog.csdn.net/matry521/article/details/52210139
- css3弹性盒子display:flex
先看上面的代码,解释一下意思,看你能认识多少(后面有注释): .container { display: flex; //弹性布局 flex-direction: column; //容器内项目的排列 ...
- Java之Apache Tomcat教程[归档]
前言 笔记归档类博文. 本博文地址:Java之Apache Tomcat教程[归档] 未经同意或授权便复制粘贴全文原文!!!!盗文实在可耻!!!贴一个臭不要脸的:易学教程↓↓↓ Step1:安装JDK ...
- .Netcore 2.0 Ocelot Api网关教程(3)- 路由聚合
在实际的应用当中,经常会遇到同一个操作要请求多个api来执行.这里先假设一个应用场景:通过姓名获取一个人的个人信息(性别.年龄),而获取每种个人信息都要调用不同的api,难道要依次调用吗?在Ocelo ...
- MSSQL Server 2005 安装补丁出现 Setup Support Files Failure
给MSSQL Server 2005 安装补丁时出现 Setup Support Files Failure,检查了错误日志,不是系统错误,而是应用错误.出现这个错误的原因:以我的安装为例,我开始装 ...
- DOTS概述
Unity数据导向技术栈有三个主要部分:Unity实体 - 组件 - 系统(ECS),Unity C#作业系统和Unity Burst编译器. 实体 - 组件 - 系统概述 ECS提供了一种游戏设计方 ...
- 使用vue-lbsmap快速开发地图应用/GPSBD
vue-lbsmap是一款基于vue的WebGIS地图插件,经过我们多年实际项目应用中积累的技术,打造的灵活.易用.数据驱动型插件,可以帮助您快速开展地图业务层的应用开发,完全免费 <!DOCT ...
- 拿下id_rsa
ssh配置公私钥远程登录Linux主机 ssh-keygen cat id_rsa.pub >>authorized_keys cat authorized_keys 拿下id_rsa h ...