c++程序设计1概念了解、2面向对象编程

今天先把笼统的写出来,明天要笔试,时间有点来不及。

C++是C语言的超集

C++继承了基本C语言的29个头文件

STL、

异常处理(C++11)——、

Lambda(C++11)——函数式编程

类和对象——面向对象

模版——泛型编程

头文件有130个

关于标准头文件,windows.h不是,特定环境下才能用

STL sort map vector

编程范式

C可以实现面向对象、泛型编程。

学习方法

根据编程范式学习,在工作岗位也是要什么学什么。C++primeplus太厚了,硬啃太难

Effective C++

条款01:视c++为一个语言联邦

条款02:尽量以const/enum/inline替换#define

宁肯以编译器替换预处理器

#define 在预处理时会完成替换过程,所有宏堆编译器不可见。

本质上就是为了方便调试

条款03:尽可能使用const

将某些东西声明为const可以帮助编译器检测出错误用法。const可被施加于任何作用域的对象

const类型的对象不可以调用const类型的方法,因为const类型的方法有可能会修改const类型对象的成员属性

条款04:确定对象被使用前已经先被初始化

为内置型对象进行手工初始化,因为c++并不保证会初始化它们

构造函数最好使用成员初值列,而不要在构造函数本体内使用复制操作。初值列列出成员变量,其排列次序应该和它们在class中的声明次序相同。

实际顺序 == 代码书写顺序

oj题目:145货仓地址

nth_element()学习

oj题目:166字符串操作

string类的三种方法

216名字排序

使用map<string, int> h

iter = h.begin()

287合并果子

和哈夫曼编码之间的关系

使用优先队列,a = top,pop

b = top pop

sum += a + b

Push(a + b)

256国王游戏

手上两个数字乘积越小越往前排

ai * bi < ai-1 * bi - 1

为免除“跨编译单元之初始化次序问题”,请以local static对象 替换non-static对象v、

面向对象

类型与变量

类与对象的别名

类型 = 类型数据 + 类型操作

访问权限

this指针,指向本对象

命名空间,class是一个特殊的命名空间

实现一个cout简版

cout本质上是个对象

const的使用,返回引用?

构造函数与析构函数

默认构造 people a

带参构造 people a(“hug”),一个参数的构造函数是转换构造。

拷贝构造 people(const people &a) 与=不等价

~people() 无

移动构造 stl没有左值右值的的概念,导致大量发送深拷贝,影响c++性能,c++11重回神坛

c++学习的重点,程序的处理流程,学会原理才能更好使用

转换构造 A(int x) A a; a = 123匿名对象,调用转换构造

拷贝构造 A(A a) A b = a;拷贝构造不能值传递

左值引用

const兼容处理

深拷贝

new和malloc

原地构造new()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值