博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++小结(1)
阅读量:5958 次
发布时间:2019-06-19

本文共 1278 字,大约阅读时间需要 4 分钟。

 

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也没害处)

转载地址:http://thkax.baihongyu.com/

你可能感兴趣的文章
程序员,请不要抢系统管理员的饭碗
查看>>
Oracle并行计算
查看>>
ftp网络服务的搭建和配置
查看>>
强化管理远程分支机构利器之coreRODC[为企业部署Windows Server 2008系列九]
查看>>
管理Windows Server Core服务器共享文件夹
查看>>
搭建MongoDB主从复制(Master-Slave)
查看>>
net类库中发送电子邮件的方法总结
查看>>
Mybatis like查询的写法
查看>>
寻找泄漏源 密封企业敏感数据
查看>>
Jigloo 开发 SWT 的入门教程
查看>>
HTML5 学习(1) -- 介绍
查看>>
SQL 必知必会·笔记<17>使用存储过程
查看>>
Linux上的SCWS安装与使用(包括PHP扩展)
查看>>
spark rdd saveAsTextFile保存为文件
查看>>
ArcGIS “Error HRESULT E_FAIL has been returned from a call to a COM component.” 异常的解决
查看>>
NeHe OpenGL教程 第十七课:2D图像文字
查看>>
.NET开源项目(转)
查看>>
补码[基础]
查看>>
两个乒乓球队进行比赛问题
查看>>
POJ2709 Painter 贪心算法
查看>>