c-c++
文章平均质量分 77
Hyacinth_Dy
这个作者很懒,什么都没留下…
展开
-
C++多态
C++多态的基本概念。虚函数作用及概念,抽象类的概念,多态的实现,虚表的构造及操作,多态中单继承派生类模型,多态中多继承派生类模型,多态中菱形继承派生类模型,多态中虚继承派生类模型,多态中另行虚继承派生类模型。原创 2016-11-14 18:06:28 · 565 阅读 · 0 评论 -
经典面试题之逆序打印单链表
题目:输入一个链表的头节点,从头到尾反过来打印每个节点的值。思路:要打印单链表就必须遍历单链表,遍历的顺序是从头到尾,而打印的顺序是从尾到头,就是说最先遍历的节点最后打印,最后遍历的节点最先打印,就是所谓的后进先出,那么我们就可以用栈实现这种顺序,从头到尾遍历链表,每遍历一个节点将它保存到栈中,知道整个链表遍历完成,在从栈中一次取出节点并打印对应的值。实现代码void ResverPrintL原创 2017-04-29 14:05:03 · 3177 阅读 · 0 评论 -
模拟实现strstr
思路:strstr函数的功能是判断在一个字符串在另一个字符串中是否有包含,比如strstr(str,string)就是判断字符串string是否是str的子串。如果是,则该函数返回string在str中首次出现的地址;否则,返回NULL。 代码试下如下:char *mystrstr(char *dest, const char *src){ assert(dest && src);原创 2017-04-18 21:06:11 · 225 阅读 · 0 评论 -
红黑树
红黑树概念 1.红黑树首先是一个二叉查找树,他的每个节点都被标有颜色(红色或者黑色)红黑树满足以下五个性质 1.每个节点的颜色只能是黑色或者是红色 2.根节点是黑色的 3.如果一个节点的颜色是红色,则他的两个孩子都是黑的,也就是说一条路径上不能出现两个相邻的红色节点。 4.对每个节点来说 ,从该节点到其子孙叶子节点的所有路径上,黑色节点的个数相同。 5.每个空叶子结点都是黑色的原创 2017-05-11 16:35:39 · 512 阅读 · 0 评论 -
C++继承
继承与派生的概念,派生类的继承方式,派生类的构造函数定义形式,继承关系中构造函数的调用顺序,菱形继承,虚继承原创 2016-11-07 19:45:20 · 738 阅读 · 0 评论 -
模拟实现boost库里的智能指针
智能指针 什么是智能指针呢,它是行为类似于指针的类对象,但这种对象还有其他功能。我们为什么要封装智能指针类对象呢?这是因为C++中的动态内存需要用户自己来维护,动态开辟的空间,在出函数作用域或者程序正常退出前必须释放掉,否则会造成内存泄漏,所以我们会定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。原创 2017-07-11 12:55:24 · 352 阅读 · 2 评论 -
shared_ptr循环引用问题
循环引用的情况原创 2017-07-15 12:34:25 · 307 阅读 · 0 评论 -
C++的单例模式与线程安全单例模式(懒汉/饿汉)
单例模式:是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。 单例类的实现 构造函数声明为私有(private)或者保护类型(protected),内部定义一个private的static的类类型指针,保存唯一的对象实例,通过一个public的initance方法实例化对象。原创 2017-07-30 15:19:25 · 608 阅读 · 0 评论