C++入门到精通视频文本

C++入门到精通视频文本

ID:37488699

大小:355.00 KB

页数:15页

时间:2019-05-24

C++入门到精通视频文本_第1页
C++入门到精通视频文本_第2页
C++入门到精通视频文本_第3页
C++入门到精通视频文本_第4页
C++入门到精通视频文本_第5页
资源描述:

《C++入门到精通视频文本》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C++入门到精通视频文本函数的声明与定义声明:intadd(int,int);//在声明函数时系统不会分配内存定义:intadd(intx,inty)//在定义的时候系统将分配内存给它{returnx+y;}类的定义classMyColor{public://在类里面声明函数voidsetColor(intr);private:intrgb;};在类外面定义函数voidMyColor::setColor(intr){}声明和类函数分开要从内联函数说起……一般来说定义一个函数后,编译器在内存中为其创建了一个指令集,当调用这个函数时,程序就会跳转到指令处,执行完毕

2、后跳回原来的地方执行下面的操作,如果调用了上百次的话会来回调用,这样会影响程序的执行效率。C++的解决方法是使用关键字inline声明函数。这个关键字的做用是将函数声明里面的内容拷贝到执行处(如果函数内容很多时不建议使用)类的声明和定义一般存放在“.h”文件(头文件)中,程序执行部分一般存放“.cpp”文件(源文件)备注:当然不用声明直接定义也是可以的,但是为了习惯和减少出错率,建议先声明再定义理由:编译器是从上到下开始编译,如果第一个函数调用第二个函数,这时编译器会提示第二个函数没有找到。变量类型(第四章)静态变量(static)、外部变量(extern)、

3、寄存器变量、自动存储变量inta=1;//是定义变量并且初始化inta;a=1;//是定义变量,给变量赋值类型:int整数bool布尔(true、false也可以写成1、0,但是判断时的值要一致)char字符wchar_t双字节字符–又叫宽字符(中文、日文等的字符都是双字节存储的)wchar_twc[]=L“日”;L表示叫编译器给两个字节的空间整型概述(第四章)析构函数(第六章)析构函数和构造函数想法,析构函数用于在对象被销毁吼清除它所占用的内存空间,比如说它可以清除由构造函数创建的内存。(析构函数定义和构造函数一样,只是函数名前加个“~”波浪号,注意:析构函

4、数不能有参数)指针(第八章)指针inta=1;int*p=&a;定义一个指针,并且把变量a的内存地址赋值给p(p存储的只是变量a的内存地址,p自己也有一个内存地址)(&有两种作用,单目运算的时候是取地址,双目运算的时候是与操作,比如p=&a是单目运算,if(a>1&a<100)是双目运算)inta=12;count<<&a<

5、型必须和变量类型一致(例如:存放int类型变量的地址,那指针也必须用int类型来定义,而不能用double等类型定义)堆和栈1、栈区(stack)由编译器自动分配并释放,这个区域一般存放函数的参数值、局部变量值等2、堆区(heap)由程序员分配释放,如果没有手动释放则程序结束后系统自动释放3、寄存器---用来保存栈顶指针和指令指针4、全局区(静态区)(static)全局变量和静态变量存放在一起,初始化的在一块,未初始化的在相邻的另一块,程序结束后系统自动释放用指针删除堆中的空间由于使用new创建的内存控件不会被系统自动释放,如果没有手动去释放,那么该区域的内存

6、不能给其他数据使用,指向该区域的指针是局部变量的话,函数执行完毕后指针消失了,再也找不到该区域数据,但是该区域还未释放(直到程序结束才释放),这种情况叫做:内存泄漏。手动清空堆的空间用delete关键字(对指向堆的指针使用delete,如果指针指向的区域已经被释放还用delete的话就直接报错—程序奔溃)由于该内存的区域被释放和回收后,编译器随机给该区域分配一个值,建议释放和回收后给该区域赋值0访问堆中的成员数据Human*p=newHuman;(*p).getWeight();也可以用“成员指针运算符->”来访问(推荐使用这种方法)p->getWeight(

7、);如果开辟了Human空间,则Human类里面的成员有开辟空间的话这样是没有意义的,因为开辟了Human已经提供了存储空间this指针,如果指针指p向的内存空间被释放了,再定义一个指针p1开辟一个空间,则指向的是p的那块空间,这样就导致了数据混乱,为了避免这种情况,在释放p的同时要给p赋值一个空指针p=0;constHuman*p=newHuman;//指向常来的指针限制修改指向的目标,但他自身是可以被修改(比如加减操作)Human*constp=newHuman;//与上面相反constHuman*constp=newHuman;//全部无法修改第九章引用

8、定义一个别名(引用),定义了一个别名,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。