c++
文章平均质量分 70
最初的素白
这个作者很懒,什么都没留下…
展开
-
模板实现顺序表和循环双链表
1.模板实现顺序表#define _CRT_SECURE_NO_WARNINGS 1 #pragma once #include<iostream> #include<string> using namespace std; template<class T> class SeqList { public: SeqList() :_a(NULL) ,_s原创 2017-08-04 09:27:02 · 205 阅读 · 0 评论 -
继承
什么是继承? 面向对象语言的三大特性分别是封装、继承、多态。继承是为了实现复用;往往将一些类公有的属性定义为父类,也称基类,通过父类创建的类称为子类,也称派生类。 c++中有三种访问限定符,分别是public(公有)、protected(保护)、private(私有), 1、public:在类外可以访问; 2、protected\private:在类外不能访问;(在父类中protected原创 2017-08-02 21:12:01 · 190 阅读 · 0 评论 -
c++写时拷贝
为什么要用写时拷贝? 在c++中一个类有六个默认成员函数,其中拷贝构造函数分为浅拷贝和深拷贝; 浅拷贝是一种值拷贝,深拷贝不仅是值拷贝,还要做其他处理; 深浅拷贝的区别: 由上图可知当一个拷贝构造一个需动态开辟空间的对象时,用浅拷贝时会出现同一块空间被释放两次,这样显然有问题,用深拷贝的话可以解决此问题,但当拷贝构造出来的对象,不需要修改时,使用深拷贝就有些浪费空间了,采用引用计数原创 2017-07-30 14:52:10 · 886 阅读 · 0 评论 -
c++动态内存管理
**c语言动态内存管理** c中关于动态内存的标准库函数:malloc() ,calloc() ,realloc(),free()以下是关于这几个函数的介绍:1、malloc(),用于动态开辟内存(堆空间),返回类型为void *,参数(size_t size)是无符号整型表示要开辟的空间大小,单位是字节,2、calloc(),用于动态开辟内存(堆空间),返回类型为void *,参数有 (size原创 2017-07-19 17:59:05 · 402 阅读 · 0 评论 -
指针与引用
一、指针的概念 指针一般指向一个函数或一个变量。在计算机语言中,由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元,因此将地址形象化的称为“指针”。 二、引用的概念 引用是c++对c的一个扩充,变量的引用就是变量的别用,因此引用又称为别名。 由此可以看出指针是变量的地址,而引用指的是变量本身. 三、引用的用法 声明一个引用的格式:类型 &引用名=已定义的变量名 例如:int原创 2017-07-04 13:47:51 · 523 阅读 · 0 评论 -
智能指针
1、为什么要引入智能指针?在c++中动态开辟的空间必须手动释放,在java中有垃圾回收机制,可 自动回收资源。智能指针是为了解决内存泄漏问题。内存泄漏:动态开辟的空间,没有得到释放;引发内存泄漏的原因: 1)new出来的空间没有delete; 2)执行流发生跳转,导致没有执行delete;引发执行流跳转的原因:异常、return、break、continue、goto语句内存泄漏的危害:导致内原创 2017-10-08 22:37:22 · 205 阅读 · 0 评论 -
模板的分离编译
**1、模板的概念** 模板是泛型编程的基础,所谓泛型编程就是编写与类型无关的逻辑代码。提高了编写代码的效率,使代码能够复用。 **2、模板的分类** 模板函数、模板类 **3、模板的格式** template<class 形参名1,class 形参名2> 注释:template是关键字,“模板”的意思,class代表类型,也可以用t原创 2017-09-26 14:37:47 · 229 阅读 · 0 评论 -
C++ 单例模式
一、设计模式设计模式:代表的是最佳实践,是软件开发过程中面临一般问题的解决方案,是面向对象语言所共有的。(类似于打仗时,使用的兵法)。设计模式一共有二十三种,本文重点介绍单例模式。常见的设计模式:适配器模式、迭代器模式、工厂模式、单例模式、生成器模式、装饰器模式、门面模式、代理模式、桥接模式适配器模式在之前学习栈和队列时,我们发现栈和队列的底层,并非自己实现,而是通过调用栈和队列(库中默认是双端队...原创 2018-03-24 16:45:40 · 193 阅读 · 0 评论