《C++程序设计》第一遍总结

目录

学前提问

思维导图

一、基础

1.变量和常量

2.运算符

二、程序结构

1.函数

2.重载:

三、符合数据类型

1.数组:

2.指针:

3.动态内存

四、类

1.初始化

2.基础概念


学前提问

一、

C#不支持多重继承

java(高效,体积小,可移植性)和C#(开发周期短,对网络和数据访问功能)更加高级,开发容易。 运行效果不如底层的C和C++(C/C++稳定,灵活,高效)

二、

C++,运行速度快,功能强大,类库需要手动选择,编译型跨平台

JAVA,运行速度缓慢,需要虚拟机环境,完全跨平台,类库丰富,功能中庸,无法进行底层的高级操作

C#,运行速度中等,需要虚拟机环境,即将跨平台,类库丰富,功能与略比JAVA多,主要是能与操作系统底层交互

C#吸取了JAVA的语法结果,又结合了C++的结构,进行了一些改进,C#不像JAVA那样完全解释执行,C#采用编译的汇编代码进行执行,所以C#的运行效率比JAVA快,但不如C++,C#能与操作系统底层交互,JAVA则不可能,如建立一个半透明的窗口,C#和C++轻而易举,JAVA比登天还难,不过JAVA的最大优点是完全跨平台,这是JAVA程序员唯一的言辞

三、

当然有好处,学好了C++,可以从事服务器、软件、工业控制、游戏等开发,最重要的是比同等级别的Java工资要高

四、

https://www.cnblogs.com/fengff/p/9417440.html

五、

系统软件。比如杀毒,优化,系统驱动。因为这个与操作系统接触紧密,所以要用c++. 不过不少地方是c,c++混用的。

对性能有高度要求。比如google的索引,编译器,脚本语言引擎,大型游戏,网络服务器等等。

一些嵌入式平台,特定的平台智能跑C/C++。

思维导图

一、基础

1.变量和常量

常量取名更方便

2.运算符

在C语言中的动态分配和释放内存的函数是malloc calloc 和 free ,

而在C++中要用 new new[] delete delete[] 来申请动态空间和释放空间。

引用的声明方法:类型标识符 & 引用名 = 目标变量名

 

二、程序结构

1.函数

值传递:调用时,将实参传给对应形参。由于形参有自己独立的存储空间,有作为函数的局部变量使用,因此在函数中对形参值得任何修改都不会改变实参变量得值。

好处:减少函数得数据依赖,增强函数自身得独立性。

引用传递:是一种特殊变量,它被认为是一个变量的别名。

2.重载:

特征:

1) 相同的范围(在同一个类中)

2) 函数名字相同

3) 参数不同

三、符合数据类型

1.数组:

vector数组是一个能存放任意数据类型(类,结构,普通变量类型等)的动态数组!

2.指针:

务必初始化,防“野指针”

Const指针

不能修改指针对应对象的内容

void指针

C指针可以与其他指针相互转化,c++不允许,必须explicit cast

3.动态内存

特点:

1.C++中通过new关键字进行动态内存申请

2.C++中的动态内存分配是基于类型进行的

3.delete关键字用于内存释放

四、类

1.初始化

创建类时,默认调用构造函数

释放类时,默认调用析构函数

2.基础概念

运算符:

this指针:

用途

1.可检查函数参数是否就是对象自己

2.在运算符operator=重载的成员函数中讲对象自己作为返回值输出。

静态成员:

Const函数

在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于改变数据成员的成员函数不能加 const。所以 const 关键字对成员函数的行为作了更加明确的限定:

(1)有 const 修饰的成员函数(指 const 放在函数参数表的后面,而不是在函数前面或者参数表内),只能读取数据成员,不能改变数据成员;没有 const 修饰的成员函数,对数据成员则是可读可写的。

(2)除此之外,在类的成员函数后面加 const 还有什么好处呢?那就是常量(即 const)对象可以调用 const 成员函数,而不能调用非const修饰的函数。

发布了138 篇原创文章 · 获赞 40 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_39332529/article/details/97934755
今日推荐