C++ 语言特性知识点【杂记】

一、C和C++

设计思想上: C++是面向对象的语言,而C是面向过程的结构化编程语言
语法上:
    C++具有封装、继承和多态三种特性(封装使代码模块化,继承扩展已存在的代码,多态的目的是为了接口重用)
    C++相比C,增加多许多类型安全的功能,比如强制类型转换
    C++支持范式编程,比如模板类、函数模板等
 

二、类和对象

类:指对象的类型。类代表了一批对象的共性和特征。抽象的,不占用内存。
对象:类的具体实例。具体的,占用储存空间。
类是对象的抽象,对象是类的具体实例。
 

三、内置函数

规模较小并且频繁调用的函数可以声明为内置函数。inline
如:inline max(int a,int b)。
其本质是在编译时将被调用的函数代码直接嵌入到主函数中去,执行时没有了函数的调用过程。
 

四、多态

多态分为两类:静态多态和动态多态

静态多态:(编译时多态性)

  • 函数重载
  • 运算符重载
  • 函数模板template

动态多态:(运行时多态性)

  • 派生类和虚函数实现运行时多态

 

五、i++和++i

当 i++ 和 ++i 在单条语句时,是没有区分的,都可以看做是 i=i+1;

在复合语句中,他们是有分别的。

  • i++ 是先执行 i,再++;
  • ++i 是先++,再执行 i

举例:

i=1;

cout << a[ i++ ]   和  cout << a[ ++i ]

  • 前者是先执行 i ,再 ++ ,所以输出的是a[1] 
  • 后者是先 ++,再cout,所以输出的是a[2]
  • 但是最终 i 都是2。

 

六、魔鬼数字

魔鬼数字的定义:在代码中没有具体含义的数字、字符串。

魔鬼数字主要影响了代码可读性,读者看到的数字无法理解其含义,从而难以理解程序的意图。
当程序中出现的魔鬼数字过多时,代码的可维护性将会急剧下降,代码变得难以修改,并容易引入错误。

例如:

修改后:

解决方法:用常量定义魔鬼数字。


 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值