dove1202ly的博客

keep runing

如何实现一个只能在栈上或者堆上生成对象的类?

什么才算是在栈上定义的对象?什么是在堆上定义的对象? 堆上:即存放的是由new创建的对象和数组,即动态申请的内存都放在堆内存 栈上:存放的是用来一些基本类型的变量和对象的引用变量 堆就相当于在家自己做饭,吃饭苦逼的还要刷碗,呜呜呜~ 栈就相当于去饭店吃饭,只管吃...

2018-08-16 20:15:07

阅读数 212

评论数 0

关于错误 itoa': The POSIX name for this item is deprecated

在VS2013下如果使用itoa的话,会经常出现以下这种情况,对于这种报错,真的很无奈啊,查了好久呢 发现改为_itoa也是不行,真的很生气呢。。。。。。。 查了网上的好多解决方案,才知道要改成_itoa_s,这样就好了,,,,...

2018-07-22 11:40:59

阅读数 535

评论数 0

三种单例模式的C++实现

简介         因为在设计或开发中,肯定会有这么一种情况,一个类只能有一个对象被创建,如果有多个对象的话,可能会导致状态的混乱和不一致。这种情况下,单例模式是最恰当的解决办法。它有很多种实现方式,各自的特性不相同,使用的情形也不相同。今天要实现的是常用的三种,分别是饿汉式、懒汉式和多线程式...

2018-07-20 16:19:31

阅读数 30

评论数 0

vector常用方法总结

本文转自https://www.cnblogs.com/zhonghuasong/p/5975979.html 介绍 vector是表示可变大小数组的序列容器。 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但...

2018-07-16 17:52:09

阅读数 94

评论数 0

【每日一题】输入一个链表,从尾到头打印链表的每一个节点

【在线oj实现】【递归实现】 struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { ...

2018-06-04 22:31:39

阅读数 39

评论数 0

栈的应用之括号匹配

1.什么是括号匹配问题 设表达式包含三种括号:圆括号、方括号和花括号,他们可以互相嵌套,如[{()}]()或者{}()等均为正确的形式,而({)、{{}})、{[(])}等形式均为不正确的形式 2.算法思想 (1)检验算法可以设置一个栈: (2)每读入一个括号,若是左括号,...

2017-11-25 23:55:43

阅读数 123

评论数 0

动态顺序栈的简单实现

实现代码 #pragma once//防止文件重复包含 #include using namespace std; template class Stack { public: Stack() :_pData(new T[3]) , _capacity(3) , _size(0) ...

2017-11-15 16:53:55

阅读数 98

评论数 0

const在c/c++的使用场景

具体参考http://blog.csdn.net/liyuefeilong/article/details/48900121##1

2017-11-11 16:55:18

阅读数 350

评论数 1

迭代器实现Vector

vector模型是一个动态数组,它本身是“将元素至于动态数组中加以管理”的一个抽象概念,但是c++标准并未要求以动态数组实作vector。 在使用标准库里面的vector时,必须包含头文件#include<vector> 其中型别vector是一个定义于namespace std的t...

2017-10-30 18:54:36

阅读数 101

评论数 0

什么是函数模板?

一、模板是什么? 所谓模板(templates),就是针对“一个或者多个尚未明确的型别”所撰写的函数或者类别,使用模板时,可以显式地(explicitly)或隐式(implicitly)将型别当作参数来传递。下面是一个例子:template<class T>//T为任意类型 inli...

2017-10-22 20:36:17

阅读数 557

评论数 0

双向链表(c++封装)

双向链表是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。结构图如下所示:其中_pPre是双向链表的前驱结点,_pNext是它的后继结点,_data是数据域 代码实现:#define _CRT_...

2017-10-21 20:25:47

阅读数 265

评论数 0

深入多态—虚表指针

上一篇就多态做了简单的介绍,但还是对多态的运行很迷,那我们就来虚函数内部是怎么操作的?(一)单继承中的虚函数(无虚拟继承)#include<iostream> using namespace std; class A { public: virtual void Funtest...

2017-10-17 19:58:45

阅读数 161

评论数 0

初识多态

什么是多态? 顾名思义,多态就是一个事物多种形态; 在面向对象层次来说,多态解释为:向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为。 在c++中,多态性表现形式之一是:具有不同功能的函数可以用同一个函数名,这样就可以实现用一个函数名调用不同内容的函数;简单点说就是:“一个接口...

2017-10-14 23:53:25

阅读数 82

评论数 0

继承(知识点汇总)

在c++中可重用性是通过“继承”这一机制来实现的。。。。。 1.那么什么是继承呢?用代码举个最简单的继承例子(单继承方式)class A { public: int _a; void Display1() { cout&lt;&lt;_a&a...

2017-10-03 13:52:35

阅读数 127

评论数 0

String类的实现(深拷贝or浅拷贝)

今天,我们来实现一个字符串String的拷贝(String用来管理字符串)~具体以浅拷贝和深拷贝的形式给出~ 那么问题来了?什么是浅拷贝呢?深拷贝又是什么呢? 浅拷贝就相当于你喜欢一个人的感觉,而深拷贝相当于你爱一个人的感觉 我们都知道say like很容易,因为可能是...

2017-10-01 20:35:59

阅读数 207

评论数 0

类的六个默认成员函数(二)

上次看了前三个,这次我们来看看后面的几个有关操作数重载的成员函数 四、赋值运算符重载 我们都知道赋值运算符“=“是用来给变量赋值的,那么类的对象之间的赋值是不是也是用它呢?但是”=“只能用来对单个的变量赋值的,所以我们就得对赋值运算符进行重新加工(专业点说就是对赋值运算符进行运...

2017-09-30 22:36:17

阅读数 127

评论数 0

类的六个默认成员函数总结(一)

一、构造函数 什么是构造函数呢?? 看下图: 如图:构造函数的特性有: 1.函数名与类名相同; 2.没有返回值; 3.有初始化列表(可以不用) 4.新对象被创建,由编译器自动调用,且在对象的生命周期内仅调用一次 5.构造函数可以重载,实参决定了调用哪个构造函数 6.如果...

2017-09-18 20:59:33

阅读数 317

评论数 0

类之this指针

什么是类呢?类就相当于c语言中的结构体一样~ 类将一组具有相关性数据包装在一体,这些数据称为类的成员变量或属性。 下面给出类的一般定义:class ClassName //类名字 { //类实现体 };class为类的关键字,ClassName为类的名字,{}为类的主体,**尤其注意类定...

2017-09-18 17:22:19

阅读数 393

评论数 0

提示
确定要删除当前文章?
取消 删除