C/C++语言学习笔记
zxx901221
这个作者很懒,什么都没留下…
展开
-
动态结构(struct)的说明
动态数据(struct)结构至少包含两个以上的字段声明,其中一个字段是指向同一类型数据的指针,另外至少要有一个字段存放基本元素。 例如: struct list { int data; struct list *next;};typedef struct list node;typedef node * l原创 2012-05-20 21:23:45 · 519 阅读 · 0 评论 -
虚函数和纯虚函数的区别
原地址:https://blog.csdn.net/hackbuteer1/article/details/7558868首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。...转载 2018-10-11 08:49:51 · 209 阅读 · 0 评论 -
C++虚基类详解
1、虚基类的作用从上面的介绍可知:如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员。在引用这些同名的成员时,必须在派生类对象名后增加直接基类名,以避免产生二义性,使其惟一地标识一个成员,如 c1.A::display( )。在一个类中保留间接共同基类的多份同名成员,这种现象是人们不希望出现的。C++提供虚基类...转载 2018-10-11 08:54:31 · 936 阅读 · 0 评论 -
const的用法,特别是用在函数前面与后面的区别!
const的用法,特别是用在函数后面在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针。可以改变this所指向的值,但不能改变 this所保存的地址。 在 const成员函数中,this的类型是一个指向 const类类型对象的 const指针。既不能改变 this所指向的对象,也不能改变 this所保存的地址。关键字:Const,Const函数,Const...转载 2018-10-13 23:46:33 · 116 阅读 · 0 评论 -
内存分布
转载:https://blog.csdn.net/qq_26685951/article/details/76920326内存分布只要分为五部分:text(文本段),initialize data(数据段),uninitialized data(为初始化数据段),heap(堆),stack(栈),如下图: 1.文本段也叫代码段,是对象文件或内存中程序的一部分,其中包含...转载 2018-10-19 23:13:44 · 629 阅读 · 0 评论 -
c语言实现的协程
这几天突然对协程感兴趣,于是自己实现了一个,代码放在github上:https://github.com/adinosaur/Coro协程是一种用户空间的非抢占式线程,主要用来解决等待大量的IO操作的问题。 协程vs线程对比使用多线程来解决IO阻塞任务,使用协程的好处是不用加锁,访问共享的数据不用进行同步操作。这里需要说明的一点是,使用协程之所以不需要加锁不是因为所有的协程只在一个...转载 2018-10-10 21:32:37 · 230 阅读 · 0 评论 -
new与malloc的区别以及实现方法
new和malloc的内存分配在哪分配在堆上。也有说new是分配在自由存储区而malloc分配在堆上,自由存储区可以是堆也可以不是,具体要看new内部的实现。操作系统在堆上维护一个空闲内存链表,当需要分配内存的时候,就查找这个表,找到一块内存大于所需内存的区域,分配内存并将剩余的内存空间返还到空闲链表上(如果有剩余的话)。new/delete和malloc/free的区别1. mall...转载 2018-10-10 22:23:36 · 1360 阅读 · 0 评论 -
C++11常用特性的使用经验总结
转载:https://www.cnblogs.com/feng-sc/p/5710724.htmlC++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++11方面的知识,也得益于很多其他网友的总结。本博客文章是在学习的基础上,加上博主在日常工作中的使用C++11的一些总结、经验和感悟,整理出来,分享给大家,希望对各位读者有帮...转载 2018-10-21 10:07:27 · 131 阅读 · 0 评论 -
常见缓存算法和LRU的c++实现
对于web开发而言,缓存必不可少,也是提高性能最常用的方式。无论是浏览器缓存(如果是chrome浏览器,可以通过chrome:://cache查看),还是服务端的缓存(通过memcached或者redis等内存数据库)。缓存不仅可以加速用户的访问,同时也可以降低服务器的负载和压力。那么,了解常见的缓存淘汰算法的策略和原理就显得特别重要。常见的缓存算法LRU (Least recently ...转载 2018-10-21 10:56:53 · 199 阅读 · 0 评论