C++
文章平均质量分 78
lc_29503203
这个作者很懒,什么都没留下…
展开
-
指针与引用
引用就像是一个人的小名一样,它可以有多个但终究代表的是一个人。在C++中,变量的引用就是变量的别名。一.在使用引用的过程中,我们需要注意以下几点:1.在声明引用时必须立即对它进行初始化; int i=10; int &j; j=i; //错误,不能声明完成后再赋值2.变量类型要相同; double a; int &b=a;原创 2016-08-09 16:49:28 · 499 阅读 · 0 评论 -
c++:日历的实现
这次日期类的实现呢,主要具备查某月的日历,日期加减天数后是哪一天,两个日期之间相差的天数。比如说:你想知道离开学的日子还有多少天啊,离我们找工作还有多少天呐,这个月的日历是什么样的啊都可以它来查询!下面给出代码实现:Date.h#ifndef _DATE__H_#define _DATE__H_#include#includeusing namespace std;class原创 2016-08-14 10:15:15 · 1985 阅读 · 0 评论 -
string类的基本实现
在面试中面试官常常会让你写出string类的基本操作,比如:构造函数,析构函数,拷贝构造等等.下面是除此之外的一些操作,希望可以帮助你更好的理解string以便以后的运用:String& operator=(const String& s);char* c_str();char& operator[](int index);void PushBack(char c);String op原创 2016-08-21 10:12:20 · 425 阅读 · 0 评论 -
写时拷贝的方式实现基本的String类
写时拷贝copy_on_write的方式实现基本的String类,从字面意思来讲就是在需要修改字符串的时候将其拷贝一份,然后进行修改。这里引入了引用计数的概念,在写时拷贝时我们需要注意以下几个问题:1.开始开辟空间时会多开辟4个字节,是引用计数存放的空间,数据从4个字节以后开始存放;2.在进行重新写入时,如果引用计数为1那么只需要修改即可,不用再进行拷贝;如果引用计数大于1,在修改时才需要原创 2016-08-21 12:02:19 · 379 阅读 · 0 评论 -
const关键字
在C语言中,我们习惯用#define来定义常量(#define PI 3.14),但是呢,这个常量没办法给它指定类型。学习C++后,它提供了一种更灵活更安全的方式来定义常量,即使用const修饰符来定义(例如:const float PI=3.14;).总之,不论在c语言还是c++里const还是比较常见的一种修饰符,那么接下来我们就详细谈谈const有哪些作用及使用方法。一.1.用con原创 2016-10-16 18:03:13 · 543 阅读 · 0 评论 -
树的子结构
题目是这样得:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)1.分析(1)首先设置标志位result = false,因为一旦匹配成功res就设为true,剩下的代码不会执行,如果匹配不成功,默认返回false(2)递归思想,如果根节点相同则递归调用IsTree1HaveTree2(),如果根节点不相同,则判断tree1的左子树和tree原创 2017-06-01 08:28:14 · 473 阅读 · 0 评论 -
c++之浅析智能指针
在c++中,当一个函数发现自己无法处理的错误时就抛出异常,然后对其进行捕捉,此时我们设计的执行流就会发生改变,这样会很容易引发内存泄漏的问题。下面就举一个小例子:#includeusing namespace std;void fun(){ int* ptr=new int(1); if(1) { throw 1; } delete ptr;}int main()原创 2016-09-05 08:39:49 · 501 阅读 · 0 评论 -
单例模式(饿汉模式和懒汉模式)
单例模式也叫单件模式。Singleton是一个非常常用的设计模式,几乎所有稍微大一些的程序都会使用到它,所以构建一个线程安全并且高效的Singleton很重要。 单例模式的特点: 1>单例类保证全局只有一个唯一实例对象。 2>单例类提供获取这个唯一实例的接口。1.下面先简单设计一个单例模式 但是这样设计会有线程安全的问题。为什么说这样实现的一个单例模式是线程不安全的呢?是因为暴露给外原创 2017-08-04 17:08:37 · 1137 阅读 · 1 评论