首页
学习
活动
专区
工具
TVP
发布

我是业余自学C/C++的

专栏成员
138
文章
145687
阅读量
41
订阅数
Jother了解 原
jother是javascript语言中利用少量字符构造精简的匿名函数方法对于字符串进行的编码方式。其中少量字符包括:"!"、"+"、"("、")"、"["、"]"、"{"、"}"。只用这些字符就能完成对任意字符串的编码。
青木
2019-04-17
8750
6.哲学家就餐问题 原
有五个哲学家,他们的生活方式是交替的进行思考和进餐。哲学家们公用一张圆桌,分别坐在周围的五张椅子上。在圆桌上有5个碗和5支筷子。平时一个哲学家进行思考,饥饿时便试图取用其左、右最靠近他的筷子,只有在他拿到两支筷子时才能进餐。进餐毕,放下筷子又继续思考。
青木
2019-03-12
1.2K0
4.信号量 原
(adsbygoogle = window.adsbygoogle || []).push({});
青木
2019-03-12
4130
5.P、V操作和消费者问题 原
一组生产者进程生产产品给一组消费者进程消费。为使他们并发执行,设一个有n个缓冲区的缓冲池,生产者一次向一个缓冲区中投入消息,消费者从一个缓冲区中取得消息。生产者——消费者问题实际上是相互合作进程关系的一种抽象。
青木
2019-03-12
5180
二叉树 原
对高度为h的满二叉树的元素,从第一层到最后一层,在每一次中从左至右,顺序编号,从1到2^h-1.假设从满二叉树中删除k个其编号为2^h-i元素,1<=i<=k<2^h,所得到的二叉树被称为完全二叉树。
青木
2018-10-09
4730
循环链表(测试代码,Qt5.1 for windows)
循环链表的原理很简单,这里就不在赘述。下面是循环链表的测试代码: 主函数所在文件: circularlistwithheader.cpp /* * 主函数 */ #include<iostream> #include "circularlistwithheader.h" using namespace std; int main(int argc, char *argv[]) { //测试构造函数 circularListWithHeader<int>y,z; cout<<
青木
2018-05-28
9603
矩阵
在说矩阵前,先说一小小点关于数组的知识: 数组分为两种: 行主映射 从第一行开始,依次对没一行的索引从左至右连续编号。 列主映射 对索引的编号从最左列开始,依次对每一列的索引从上到下连续编号。 ---- 不规则的二维数组 但一个二维数组有两行或者更多的行,每一行的元素个数不等时,这个数组就被称为不规则数组。对应的,所谓规则数组,即为每行元素个数相同的二维数组。 一个m×n的矩阵,是一个m行、n列的表,m和n是矩阵的维数。 矩阵主要完成的操作有三种: 矩阵相加 矩阵转置 矩阵相乘 这三个概念,
青木
2018-05-28
4420
一维变长数组
template<class T> void changeLength1D(T*& a,int oldLength,int newLength) { if(newLength >= 0) { T* temp = new T[newLength]; int number = min(oldLength,newLength);//确定要复制元素个数 copy(a,a+number,temp); delete [] a;//释放老数组空间 a = temp; } else { c
青木
2018-05-28
4790
String
Strings C-style strings have a special feature:The last character of every string is the null character .Consider the following two declarations: char dog[8] = {'b','e','a','u','x',' ','I','I'};// not a string char cat[8] = {'f','a','t','e','s','s','a','\0
青木
2018-05-28
6810
redis_3.0.7_sds.c_dsRemoveFreeSpace()
源程序 sds sdsRemoveFreeSpace(sds s) { struct sdshdr *sh; sh = (void*)(s-(sizeof(struct sdshdr))); sh = realloc(sh,sizeof(struct sdshdr)+sh->len+1); //这一句源函数是zrealloc()函数,我替换成realloc()函数。 // sh->free; return sh->buf; } 删掉sds字符串中的空白部分,即将free的大
青木
2018-05-28
4070
redis_3.0.7_sds.c_sdsMakeRoomFor()
源程序 sds sdsMakeRoomFor(sds s,size_t addlen) { struct sdshdr *sh,*newsh; sizt_t free = sdsavail(s);//sdsavail()是计算free的大小的,即空白部分的大小 size_t len,newlen; if(free >= addlen) return s; len = sdslen(s); sh = (void*)(s-(sizeof(struct sdshdr))
青木
2018-05-28
5760
redis_3.0.7_sds.c_sdsgrowzero()
源代码 sds sdsgrowzero(sds s,size_t len) { struct sdshdr *sh = (void*)(s-(sizeof(struct sdshdr))); size_t totlen,curlen = sh->len; if(len <= curlen) return s; s = sdsMakeRoomFor(s,len-curlen); if(s = NULL) return NULL; /*Make sure added re
青木
2018-05-28
4200
redis_3.0.7_sds.c_sdscatlen()
源程序 sds sdscatlen(sds s, const void *t, size_t len) { struct sdshdr *sh; size_t curlen = sdslen(s); s = sdsMakeRoomFor(s, len);//字符串添加len个长度 if (s == NULL) return NULL; sh = (void*)(s - (sizeof(struct sdshdr))); memcpy(s + curlen, t, len);/*
青木
2018-05-28
7590
virtual
简单说明: 纯虚函数就像是java 中的接口函数,不能直接实例化,必须被派生类继承,然后对基类中的虚函数进行实现。 虚函数的使用就是为了方便多态的使用,常常需要在基类中定义虚函数,然后对基类进行继承,再对基类中的虚函数进行重载。 virtual在函数中的使用限制 普通函数不能是虚函数,也就是说虚函数的定义必须在某个类中。虚函数不可以是一个全局函数,不可以单独在类外定义,否则会导致编译错误。 静态成员函数不能是虚函数,即static成员函数是和类同生共处的,它不属于任何一个对象,使用virtual也将导致
青木
2018-05-28
6510
纯虚函数
定义 纯虚函数就是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后面加“=0” 引入原因 方便的使用多态,因此常常在基类中定义虚函数 在很多情况下,基类本身生成对象是不合理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,蛋动物本身生成对象明显不合常理。 为了解决上述问题,引入了纯虚函数的概念,将函数定义为纯虚函数(virtual ReturnType Function() = 0),则编译器要求在派生类中必须予以重写以实现多
青木
2018-05-28
1.1K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档