c++学习心得

 C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛;C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。
 刚开始学习C++的时候我一听到他是一种面向对象的编程语言的时候,我心里就有点害怕,因为我听学长学姐们说过面向对象的编程语言是一种比c语言这种面向过程的编程语言更加难得一门语言。但是当我开始学习c++的时候,我感觉到他并不是那么的难学,前几章的就是c语言的回顾,可能是由于我对c语言掌握的还是比较的扎实,所以学起来还是很轻松的。由此,我对c++产生了强大的信心。
 当我慢慢接触到c++核心的东西时,我才慢慢的明白c++的强大所在。
继承与派生:
一个新类从已有的类那里获得其已有特性,这种现象称为类的继承。通过继承,一个新建子类从已有的父类那里获得父类的特性。从另一角度说,从已有的类(父类)产生一个新的子类,称为类的派生。
   1、一个派生类只从一个基类派生,这称为单继承(singleinheritance),这种继承关系所形成的层次是一个树形结构。
   2、一个派生类有两个或多个基类的称为多重继承(mulUple inheritance),
   关于基类和派生类的关系,可以表述为:
   派生类是基类的具体化,而基类则是派生类的抽象。
继承方式包括:public(公用的),prtvate(私有的)和protected(受保护的),继承方式是可选的,如果不写此项,则默认为private(私有的)。
new的用法:
1. new() 分配这种类型的一个大小的内存空间,并以括号中的值来初始化这个变量;
2. new[] 分配这种类型的n个大小的内存空间,并用默认构造函数来初始化这些变量;
3. 当使用new运算符定义一个多维数组变量或数组对象时,它产生一个指向数组第一个元素的指针,返回的类型保持了除最左边维数外的所有维数。
模板的用法:
模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。
函数模板的一般形式如下:
Template <class或者也可以用typename T>
STL:
STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。在C++标准中,STL被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>。以下笔者就简单介绍一下STL各个部分的主要特点。
大家都能取得的一个共识是函数库对数据类型的选择对其可重用性起着至关重要的作用。举例来说,一个求方根的函数,在使用浮点数作为其参数类型的情况下的可重用性肯定比使用整型作为它的参数类性要高。而C++通过模板的机制允许推迟对某些类型的选择,直到真正想使用模板或者说对模板进行特化的时候,STL就利用了这一点提供了相当多的有用算法。它是在一个有效的框架中完成这些算法的――你可以将所有的类型划分为少数的几类,然后就可以在模版的参数中使用一种类型替换掉同一种类中的其他类型。
容器部分主要由头文件<vector>,<list>,<deque>,<set>,<map>,<stack>和<queue>组成。对于常用的一些容器和容器适配器(可以看作由其它容器实现的容器)
向量(vector) 连续存储的元素 <vector> 
列表(list) 由节点组成的双向链表,每个结点包含着一个元素 <list> 
双队列(deque) 连续存储的指向不同元素的指针所组成的数组 <deque> 
集合(set) 由节点组成的红黑树,每个节点都包含着一个元素,节点之间以某种作用于元素对的谓词排列,没有两个不同的元素能够拥有相同的次序 <set> 
多重集合(multiset) 允许存在两个次序相等的元素的集合 <set> 
栈(stack) 后进先出的值的排列 <stack> 
队列(queue) 先进先出的执的排列 <queue> 
优先队列(priority_queue) 元素的次序是由作用于所存储的值对上的某种谓词决定的的一种队列 <queue> 
映射(map) 由{键,值}对组成的集合,以某种作用于键对上的谓词排列 <map> 
多重映射(multimap) 允许键对有相等的次序的映射 <map> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值