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