![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 82
xxpresent
这个作者很懒,什么都没留下…
展开
-
c++详解【new和delete】
说起new和delete,了解过c++的人应该都知道吧,它是用来分配内存和释放内存的两个操作符。与c语言中的malloc和free类似。c语言中使用malloc/calloc/realloc/free进行动态内存分配,malloc/calloc/realloc用来在堆上分配空间,free将申请的空间释放掉。malloc:void FunTest(){ int *pTest =原创 2016-11-21 09:22:34 · 28940 阅读 · 2 评论 -
[WPS笔试题]实现栈的push,pop,max且时间复杂度为O(1)
今天做了一下WPS的笔试题,遇到了一道关于栈的题,觉得挺有意思的,就写篇博客分享一下吧~~原创 2017-04-11 15:09:26 · 2006 阅读 · 3 评论 -
快速排序--全集
快速排序:一听名字就知道这种排序很快的,是吧?没错,它是一种效率比较高的排序算法。快速排序采用的是分治的思想。比如,将一串数中的一个元素作为基准,然后将比它小的数排在它的左边,比它大的数排在它的右边。将作为基准的那个元素排在正确的位置。然后通过递归,依次将所有的元素都排好。(实质就是递归子问题)在这里,快速排序也有几种不同的方式,下面我给大家一一叙述吧。快速排序的几种方法:1.原创 2017-03-05 17:12:20 · 432 阅读 · 0 评论 -
排序(Sort)--【一】
排序,对于大家再熟悉不过了吧。我们之前在学习c语言的时候接触过的冒泡排序,选择排序等。今天给大家介绍两种新的排序。1、直接插入排序升序排列:将第一个数确定好,从下标为1的数开始插入,如果插入的数比前一个数大,就插入到前一个数后的位置。否则,将前一个数的位置后移,再与再往前的数比较,依次类推。时间复杂度为:O(N*N) 最好情况:O(N)主要实现代码(vs原创 2017-02-24 19:49:42 · 628 阅读 · 1 评论 -
模板
模板是泛型编程的基础,即与类型无关的逻辑代码。利用模板机制可以显著减少冗余信息,能大幅度地节约程序代码,进一步提高面向对象程序的可重用性和可维护性。模板是实现代码重用机制的一种工具,它可以实现类型参数化;模板分为函数模板和类模板。为了使用函数名相同,参数不同,返回值可同可不同的函数时,我们起初用了重载的方式。#includeusing namespace std;int add(int a,原创 2016-06-08 21:24:06 · 306 阅读 · 0 评论 -
详解强制类型转换
今天谈谈类型转换的问题吧,之前我们也遇到过类型转换,比如c语言中这样的赋值:显然,i和j是不同类型的变量,但是却可以完成赋值,结果是这样的:其实它们是做了隐式的类型转换,相当于:double j = (double)i;所以成功的赋值。还有另外一种:结果是:像这样的,属于显示的类型转换。这样类似的还有很多。下面我介绍c++中几种特殊的类型转换原创 2016-08-30 14:08:29 · 1053 阅读 · 0 评论 -
c++之类型萃取
刚刚我们接触过模板类,类似于这样的:在这个类中,我们如何知道它是什么类型的呢?这里,我们可以在类中加入一个内嵌类型,如:这样就可以知道它是用户自定义的还是本身类型就拥有的,我们用到了类型萃取的方式。我们把__IsPodType叫做内嵌型别。当我们遇到其他类型时,就将__IsPodType定义为__FalseType;当遇到自定义类型时,就将__IsPodTy原创 2016-08-30 21:47:05 · 636 阅读 · 0 评论 -
c++命名空间
命名空间原创 2016-09-24 12:48:25 · 628 阅读 · 0 评论 -
c++之指针&&引用
引用原创 2016-09-24 16:03:36 · 8306 阅读 · 1 评论 -
静态多态之泛型编程(模板)
起初,我们写不同类型的加法函数是这样写的吧://Template.h#pragma onceint Add(const int left,const int right){ return left+right;}char Add(const char left,const char right){ return left+right;}float Add(co原创 2016-11-02 21:33:18 · 590 阅读 · 0 评论 -
c++详解【继承】
学过c++的人都知道,c++的三大特性:封装、继承、多态。我们今天说的是c++的继承,那么为什么要引入继承,它有什么特点呢?首先,继承的特点是:使代码复用,为后面学习多态做铺垫。继承分为:私有继承(private)、公有继承(public)、保护继承(protected)。分别举例介绍一下它们各自的特性吧:一、继承私有继承://Inherit.h#pragma原创 2016-11-03 16:33:18 · 422 阅读 · 1 评论 -
c++详解【智能指针】
智能指针?是一个指针吗?这里给大家说的是,它不是一个指针,但它模拟了指针所具有的功能。那么,为什么要有智能指针的引入呢?看看下面的例子吧~void FunTest(){ int *p = new int[10]; FILE *pFile = fopen("1.txt","r"); if(pFile == NULL) { return; } if(p) { de原创 2016-11-17 09:02:01 · 566 阅读 · 0 评论 -
c++【深度剖析shared_ptr】
shared_ptr解决了scoped_ptr管理单个对象的缺陷,且解决了防拷贝的问题。shared_ptr可以管理多个对象,并且实现了资源共享。但是仍然存在一些问题,比如,我们熟悉的双向链表:struct Node{Node(const int& value):_pNext(NULL),_pPre(NULL),_value(value){}Node* _p原创 2016-11-21 08:31:25 · 921 阅读 · 2 评论 -
[剑指Offer]替换空格
今天看题的时候,遇到一个替换空格的题目,分析一下哈。题目要求:把字符串中的每个空格替换成“%20”。原创 2017-04-12 20:55:18 · 375 阅读 · 0 评论