C++温故而知新小结

缘起:

由于项目的原因需要重新拿起C++的知识所以就有了这次快速的复习(本人近两年左右一直用的C#语言,做的是Unity3D,现在需要用UE4开发(UE4是使用蓝图及C++语言),太长时间没用C++所以先简单复习一下基本的语法知识)下面仅仅是学习中的小结(简单笔记,作为自己的总结再次写一下,如有不妥望指正,一直在路上共同进步)

正文:

1、 cout << "Hello World!\n"; cout<<"Hello World!"<<endl
endl 除了写“\n”外,还调用flush函数,刷新缓冲区,把缓冲区里的数据写入文件或屏幕,考虑效率就用“\n”。
注:在没有必要刷新输出流的时候应尽量使用cout<<"\n",过多的endl是影响程序执行效率低下的因素之一。

2、变量保留的是它所储存的值的内存位置.(创建即会在内存中保留一些空间)

3、声明和定义的区别:
定义包含了声明,但是声明不包含定义,eg:

 int a=0; //定义并声明了变量a
 extern int a;//只是声明有个变量a存在,具体a在哪里定义,需要编辑器编译的时候去找

注:函数的声明和定义也类似

4、全局变量从定义处开始至程序结束起作用,即全局变量存在有效作用域(同时变量只要在开头声明,不管变量在哪里定义都可使用)

5、全局变量和局部变量同名时,可通过∷ 域名在函数中引用到全局变量,不加域名解析则引用局部变量。

6、关于静态局部变量
储存在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量储存在静态储存区(全局变量和static变量),只不过和全局变量比起来,static可以控制变量的可见范围,说到底static还是用来隐藏的,虽然这种用法不常见。
注:如果作为static局部变量在函数内定义,它的生存周期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量。退出该函数后,尽管该变量还继续存在,但不能使用它。

7、把常量定义为大写字母形式,是一个很好的编程实践。

8、预处理#define变量定义值以后,不能用分号,否则就会计算错误,但程序不会报错。

9、无符号 正数的源码、反码、补码都一样。
有符号 负数的反码为原码按位取反,补码为反码加1.

10、电脑中存储的二进制是以补码的形式储存的。
十进制转二进制除二取余,从后往前排。
反码为除最高位之外按位取反,补码为反码加1。
二进制转十进制为2的n次方,整数从右到左相加,之后小数从前到后相加

11、对于无符号化为有符号的位运算,采取N-2∧n的计算方法,n取决于定义的数据类型int、short、char、long int 等等,N为无符号数的数值,eg:N=50000,short为16位,计算方法位50000-2∧16得到-15536。

12、类与结构体在C++中只有两点区别,除此之外无任何区别
①、class中默认的成员访问权限值private的,而struct中则是public的。
②、从class继承默认是private继承,而从struct继承默认是pubic继承。
③、class可以定义模板,而struct不可以。
④、不同于C#,C++类和结构体的大括号后边都需要加“;”。
⑤、∷ 范围解析运算符

13、C++可以多继承,虚继承(在创建对象的时候会创建一个虚表)在创建父类对象的时候。

14、类中的重载、覆盖、重定义之间的区别:
①、重载指的是函数具有的不同的参数列表,而函数名相同的函数。
重载要求参数列表必须不同,比如参数的类型不同、参数的个数不同、参数的顺序不同。如果仅仅是函数的返回值不同是没有办法重载的,因为重载要求参数列表必须不同。(发生在同一个类中)
②、覆盖是存在类中,子类重写从基类继承过来的函数。被重写的函数不能是static的,必须是virtual的,但函数名、返回值、参数列表都必须和基类相同.(发生在基类和子类中)
③、重定义也叫做隐藏,子类重新定义父类中有相同名称的非虚函数(参数列表可以不同)。(发生在基类和子类中)

15、纯虚函数
方便在派生类中重新定义该函数更好i的适用于对象,但在基类中又不能对虚函数给出有意义的实现,这个时候就会用到纯虚函数, virtual int area() =0
其中=0是为了告诉编译器,函数没有主体,上面的虚函数就是纯虚函数。

16、new 分配内存并创建对象。
delete 操作符释放它所占用的内存。

打完收工。。。。。。。。。。
这个是这个两天重新学习的时候的随手笔记,没有经过整理,待有时间在整理一下,补充点知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值