初识C++——C++与C语言的不同

1.编程思想不同

C语言的编程思想:面向过程。

  分析项目的实现步骤,使用函数实现一个个步骤,然后逐个调用这些函数完成项目。

C++语言的编程思想:面向对象。

  对象=方法+数据

三大特性:封装、继承、多态。

2.全局变量类型增强

例如:int num;在c语言中会看成声明,编译通过;在c++中会看成定义,编译报错。

3.c++中所有变量和函数都必须有类型

例如:void func(i)  其中i没有类型名,c语言支持,但是c++不支持

4.更严格的类型转换

c语言允许枚举变量赋其他值,c++不允许。

5.c++的struct增强(重要)

a.C++中定义结构体变量不需要加struct。

b.c++的结构体中可以定义函数

6.新增bool类型关键字

7.三目运算符功能增强

C语言中表达式的结果是值,C++中表达式的结果是变量。

8.c++中const增强

C语言的const:修饰变量为只读,用户不能通过变量给空间赋值。

C++:

a.修饰变量,如果以常量初始化,变量不会立即开辟空间,而是放入符号常量表中。

b.如果对变量取地址,系统立即开辟空间。

c.如果使用变量初始化,立即开辟空间。

const和无参宏的区别(背)

无参宏:无类型、在预处理阶段展开、没有作用域限制、不能成为类的一部分

const修饰的变量:有类型、在编译阶段展开、有作用域限制、能成为类的一部分。

9.引用:必须初始化

10.内联函数:inline修饰

内联函数可以像宏一样展开,不会有出入栈开销,决定是否为内联函数是编译器决定的。

成为内联函数的条件(背)

a.不能存在任何形式的循环语句

b.不能存在过多的条件判断语句

c.函数体不能过于庞大

d.不能对函数进行取址操作

11.函数重载(静态多态)

一个接口,多种功能。实现原理:函数名参数共同决定函数的入口地址。

函数的返回值类型不能作为重载条件。

你可能感兴趣的:(C++,c++,c语言,开发语言)