C++小结(1)
1. overload 仅仅返回值类型不同的函数不能被重载.
2. 所谓私有,是指该成员只能被类本身的方法访问----即使是这个类的对象也不能直接访问.
3. 类的对象所占用的空间是其成员变量所用内存的总和(可sizeof求证),对象指针指向其首个成员变量地址.对象的函数不占用对象的内存空间(即使函数中有局部变量)
4. const关键字的主要作用是利用编译程序进行排错.和限制对成员的改变. 表现在以下方面:
(1)const成员函数:const位于形参括号之后,分号之前.该函数不能修改成员变量. (2)const类:对一个类说明使用了const,实际上是说明了一个const型的this指针,该指针只能调用const成员函数. (3)const成员变量:==常量 (4)const指针. int * const pi=0;//指针pi不能再指向其他对象(不允许pi=&x) const int * pi=0;//指针不能改变所指向地址中的内容(不允许*pi=x); const int * const pi=0;//指向常量的常量指针.
5. 一定要对所有的指针进行初始化,初始化可以是有效的变量地址,也可以是0(空指针). 一定要对所有引用的说明进行初始化,引用不能为空,也不能被重新赋值. 必须牢记:引用不等于指针,引用是目标的"别名".对引用的操作(包括赋值和&)都是对目标进行的. *一个没有初始化的指针被称为"失控指针",是非常危险的.
6. 指针用于: A:处理自由存储区中的数据; B:访问类的成员数据和成员函数; C:通过引用传递的方式给函数传递对象或变量.
7. 关键字new分配堆中的内存。如果分配成功返回一个地址值,否则返回NULL(空指针).因此,每次使用new时应检查其返回值是否有效. 当不再需要一块内存空间时,必须对它的指针使用delete,以释放目标内存空间. *说明了指针的函数结束时,指针变量本身的作用域也随之结束,但指针所指向的内存空间不会自动释放,所以必须在函数结束前,对指针使用delete释放它所指向的内存空间.否则导致"内存丢失". *delete不会删除指针本身,所以被delete的指针可以再次被赋值. *对一个被delete的指针再次使用delete可能导致程序崩溃.解决办法是delete一个指针后.立即给它赋值0,而对一个空指针使用delete是安全的. *没有delete一个指针前,对一个已经赋值了的指针重新赋值会导致前一个地址空间丢失. *良好的习惯是new,delete成对出现.
8. 对一个指向对象的指针使用new运算符分配空间时,会调用对象类的构造函数.与此类似,使用delete删除一个对象指针时,会调用一个析构函数.
9. 类的成员变量如果是指针变量。其初始化可在构造函数或其他方法中进行,而清除指针所指向的内存的工作在析构函数中进行. 在析构函数中delete指针成员变量,不需要再把指针赋值为0,因为一旦对象消失,作为它的成员的指针也不能再被访问(当然,赋值0也没害处)
- 年前爆炸一波!小程序视频功能来了!
- ubuntu13.04环境hadoop1.2.1单机模式安装
- silverlight:telerik RadControls中RadGridView的一个Bug及解决办法
- scope引起的问题
- JS正则表达式常用函数汇总
- 修改(同步)linux时间
- “爬虫”程序吃掉低价机票 高科技“黄牛”怎么破?
- javascript:json数据的页面绑定
- “刷脸”就可购物 全国首家人脸智慧时尚店亮相深圳
- testng-result中文乱码问题
- mac下环境变量、maven3.1.1 及 jdk1.7.0.45配置
- 高通获准在加州测试无人驾驶技术:车上要有司机
- 机器人产业链分析-机器人基本知识
- postman也可以使用F12功能
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ggplot Stripchart and line
- ggplot2 核密度图和直方图
- 喜欢的歌曲不在一个平台怎么办?你需要一个自己专属的音乐播放器
- ggplot_QQ图和ECDF
- tidyverse evaluation
- 下载歌曲的时候嫌麻烦?打造专属你的音乐下载器
- Tidyverse补充
- 抖音关键词热度搜索小程序(附源码)
- python自定义函数基础
- Python-科学计算-pandas-13-列名/删除列/替换nan
- python小程序,45行代码实现可切换版代码雨(附源码)
- R海拾遗-stringr
- stringr2
- Kubernetes 无状态应用的一般特征
- 一段简单的代码,能让所有GIF图实现时光倒流