随笔分类 -  C++

摘要:STL所有sort算法所有的sort算法的参数都需要输入一个范围,[begin, end)。这里使用的迭代器(iterator)都需是随机迭代器(RadomAccessIterator), 也就是说可以随机访问的迭代器,如:it+n什么的。(partition 和st... 阅读全文
posted @ 2016-08-31 12:48 Li_Ning 阅读(1473) 评论(0) 推荐(0)
摘要:原谅我,我不想黏贴,但是这篇文章说的挺好,就当记了一次笔记:http://www.jellythink.com/archives/82赐教! 阅读全文
posted @ 2016-08-27 16:16 Li_Ning 阅读(158) 评论(0) 推荐(0)
摘要:布隆过滤器这名词有没有听着好像很 挺高大上的,的确,它也是一种很重要的结构,下面一起看看:一:说说历史:(Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤... 阅读全文
posted @ 2016-07-31 21:16 Li_Ning 阅读(534) 评论(0) 推荐(0)
摘要:菱形继承详见 1.http://www.tuicool.com/articles/MNzieu 2.http://blog.csdn.net/tounaobun/article/details/8443228 3.http://c... 阅读全文
posted @ 2016-07-31 13:34 Li_Ning 阅读(132) 评论(0) 推荐(0)
摘要:stl中的迭代器和C++中的类型萃取:http://www.itnose.net/detail/6487058.html赐教! 阅读全文
posted @ 2016-07-31 13:07 Li_Ning 阅读(114) 评论(0) 推荐(0)
摘要:上一篇说了一般继承,也就是单继承的虚函数表,接下来说说多重继承的虚函数表:1.无虚函数覆盖的多重继承:代码:#pragma once//无覆盖,多重继承class Base1{public: //三个虚函数 virtual void f() { cout f(); ... 阅读全文
posted @ 2016-07-13 00:52 Li_Ning 阅读(615) 评论(0) 推荐(0)
摘要:沿途总是会出现关于C++虚函数表的问题,今天做一总结:1.什么是虚函数表:虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,... 阅读全文
posted @ 2016-07-12 23:46 Li_Ning 阅读(974) 评论(0) 推荐(0)
摘要:C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数,此为多态的表现;在看看以下几点:1. 用virt... 阅读全文
posted @ 2016-07-10 17:19 Li_Ning 阅读(599) 评论(0) 推荐(0)
摘要:关于两个链表相交,很容易迁移到好多地方,比如:1.找出两个链表相交的节点;2.判断单个链表是否有环等;3.二叉树当存在父指针的时候,求树中两个节点的最近公共祖先;看一个图:一下只给出相当一部分思想:方法一:将两个链表的节点进行hash操作,然后判断出节点,这种想法是可... 阅读全文
posted @ 2016-06-16 18:51 Li_Ning 阅读(152) 评论(0) 推荐(0)
摘要:函数名:atoi功能: 把一个字符串转换成一个整数。看似简单,主要是情况太多,需要注意考虑。测试代码:Test(NULL);Test("");Test("123");Test("+123");Test("-123");Test("1a33");Test("+0");T... 阅读全文
posted @ 2016-06-16 11:34 Li_Ning 阅读(209) 评论(0) 推荐(0)
摘要:原文:http://blog.csdn.net/zhoudaxia/article/details/4487724/C++模板中的类型参数T是抽象的,我们并不能在模板内部直接获得它的具体特征。类型萃取(抽取)技术就是要抽取类型的一些具体特征(trait),比如它是哪种... 阅读全文
posted @ 2016-06-15 23:25 Li_Ning 阅读(712) 评论(0) 推荐(1)
摘要:写的很好,忍不住转了:博文原址:http://blog.csdn.net/xt_xiaotian/article/details/5714477一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delet... 阅读全文
posted @ 2016-06-07 20:41 Li_Ning 阅读(152) 评论(0) 推荐(0)
摘要:说删链表节点,第一时间想到就是遍历整个链表,找到删除节点的前驱,改变节点指向,删除节点,但是,这样删除单链表的某一节点,时间复杂度就是O(n),不符合要求;时间复杂度是O(n)的做法就不说了,看看O(1)的写法,看图:删除节点,需要找到被删节点的前驱,上面的说明,交换... 阅读全文
posted @ 2016-06-05 12:36 Li_Ning 阅读(527) 评论(0) 推荐(0)
摘要:翻了好多博客,内容星星点点,没找到我想要的,现在吸取大神精华,加上本人拙见,总结如下:一个C或C++程序从你开始编写,到结束,整个过程,都做了些什么,请看下文:先看大体的过程:看图:我在这里主要想说的就是,程序到这每个阶段都干了什么,这个有时候很重要,举个例子:#de... 阅读全文
posted @ 2016-05-19 11:07 Li_Ning 阅读(227) 评论(0) 推荐(0)
摘要:类中的赋值操作和构造容易使人混淆,加以区分,引以为戒:我用string类为例:string str1 = "hello world"; string str2 = str1; 有“=”不一定就是赋值操作,其实,上边的string str2 = str1,就不是赋值操作... 阅读全文
posted @ 2016-05-09 12:33 Li_Ning 阅读(240) 评论(0) 推荐(0)
摘要:标准C++类std::string的内存共享,值得体会:详见大牛:https://www.douban.com/group/topic/19621165/顾名思义,内存共享,就是两个乃至更多的对象,共同使用一块内存;1.关于string的内存共享问题:通常,strin... 阅读全文
posted @ 2016-05-09 12:05 Li_Ning 阅读(334) 评论(0) 推荐(0)
摘要:说是原创,差不多算是转载了,我也是看了好多大牛的写法,大牛的建议,自己加一总结,形成代码:实现一个简洁版的string类,我觉得,下面的也够了:另外需要参见另外的写法:http://blog.csdn.net/li_ning_/article/details/5128... 阅读全文
posted @ 2016-05-09 10:03 Li_Ning 阅读(126) 评论(0) 推荐(0)
摘要:这个问题困扰我好久,终于完美区分:看一个例子:main(){ int n=10; int a[n]; scanf("%d",&a[2]); printf("%d",a[2]); system("pause");}以上例子中,n明显是一个整... 阅读全文
posted @ 2016-05-09 00:31 Li_Ning 阅读(579) 评论(1) 推荐(0)
摘要:今天看了一个面试题:问new 和 malloc, delete 和 free 的区别,扭捏了半天,也没说完全;现总结如下:1.先看看new 和 delete 看一个例子:void Test (){ int* p4 = new int; // 动... 阅读全文
posted @ 2016-05-06 00:01 Li_Ning 阅读(187) 评论(0) 推荐(0)
摘要:声明一个字符串类,为这个类型添加赋值运算符class MyString{public: //构造函数 MyString(char* pData = NULL); //构造函数 MyString(const MyString& str); //析构函数 ... 阅读全文
posted @ 2016-04-29 17:26 Li_Ning 阅读(537) 评论(0) 推荐(0)