码农code之路

一入码农深似海,从此天涯是路人

博客目录

【数据结构与算法】 一:通俗易懂说链表 二:单向链表实现与封装(有头) 三:两分钟初识树 四:二叉树的创建,插入,遍历,删除,删除节点实现 【开源组件】 一:两分钟搞懂开源许可协议 二:FastDFS极速入门与安装 三:FastDFS集群搭建与实战 【Docker】 一...

2019-06-15 14:21:13

阅读数 127

评论数 0

【我的开源】股票软件简介+源码(蜗牛股票软件)

简介 蜗牛股票软件是博主在业余时间开发的一款股票软件,运行于Windows环境,目前已经开源到GitHub上,界面使用VC++/MFC开发,IDE选用Visual Studio 2010,后台使用java开发,使用微服务spring boot框架。 目前支持的功能如下: 1.自选股显示实...

2017-08-11 14:52:45

阅读数 17736

评论数 39

【C++札记】指针数组和数组指针

指针数组: 存储指针的数组,数组找那个的每个一元素都是指针 例: int* p1[4],p2[0]是一个指向int类型的指针 char* p2[4],p1[0]是一个指向char类型的指针 数组指针: 指向数组的指针 例: int (*p)[4] 这里需要注意下 i...

2019-07-24 15:44:15

阅读数 16

评论数 0

面试官:一道二级指针函数传递分析运行后结果

今天看到一道有趣的题记录下: int i=0,j=20,*p1=&i,*p2=&j; void f(int** ptr1, int* ptr2) { int *tmp = ptr2; **ptr1 *= 10; *ptr2 *= 10; ptr2 ...

2019-07-21 21:45:30

阅读数 17

评论数 0

基于Snappy实现数据压缩和解压

Snappy是谷歌开源的一个用来压缩和解压的开发包。相较其他压缩算法速率有明显的优势,官方文档显示在64位 i7处理器上,每秒可达200~500MB的压缩速度,不禁感叹大厂的算法就是厉害。 开源项目地址:https://github.com/google/snappy 开撸: 1.下...

2019-07-12 16:38:35

阅读数 130

评论数 0

libevent实现TCP 客户端

ibevent实现Tcp Client基于bufferevent实现 #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include &a...

2019-07-10 17:10:54

阅读数 85

评论数 0

libevent实现对管道的读写操作

读管道: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/types.h> #inc...

2019-07-10 17:07:56

阅读数 47

评论数 0

【数据结构与算法】二叉树的创建,插入,遍历,删除,删除节点实现

二叉树是每个结点最多有两个子树的树结构。使用广泛,使用C来实现对二叉树的操作。 示例:代码实现构造如下二叉树 #include <iostream> using namespace std; typedef struct BinaryTree { in...

2019-07-10 17:03:08

阅读数 50

评论数 0

【C++札记】多态

C++中多态是面向对象设计思想的重要特性,同名具有不同功能函数,该函数调用过程执行不同的功能。多态的原理是通过一张虚函数表(Virtual Table)实现的。动多态会牺牲一些空间和效率来最终实现动态绑定。 静多态 函数重载为静多态,绑定发生在编译期间,根据函数的参数来确定调用哪个...

2019-06-30 14:20:26

阅读数 32

评论数 0

【C++札记】赋值兼容

赋值兼容的规则时在需要使用基类对象的任何地方都可以使用公有派生类对象来替代。公有继承派生类可获得基类中除构造函数,析构函数外的所有成员,能用基类解决的问题,派生类也能解决。更直白点说,如果一个类是从一个基类公有继承过来,那么这个派生类就可以替代基类,反过来基类不能替代派生类。 常用赋值兼容情...

2019-06-25 16:41:15

阅读数 23

评论数 0

基于Hexo搭建自己的博客主页

搭建自己博客分为两类,一种是托管到github上的,以hexo为代表,另一种是需要自己购买服务器,主要使用wordpress框架。有不花钱的效果也很不错,就没必要自己再购买服务器了,下边主要介绍下使用hexo搭建个人博客。 hexo支持Markdown,使用Markdown来编写文章,最终生成的...

2019-06-23 18:27:50

阅读数 30

评论数 0

【C++札记】虚继承

由于多重继承产生的二义性引入了类的虚继承,先看下什么是二义性。 类D是类B和类C的派生类,而类B,类C就是继承于类A,当D调用类A中的函数时不知道是类B继承A的,还是类C继承A的,引起了二义性。虚继承可以解决这个问题。 使用语法: class 派生类:virtual 继承方式 虚基类 ...

2019-06-23 14:42:51

阅读数 21

评论数 0

【C++札记】类的继承

继承 面向对象的设计思想,类对数据做了封装,并可以加入访问权限,类的继承是面向对象思想的精髓。类的继承可以让新类从以有的类中获得已有的特征。原有类称为基类或父类,新类称为派生类或子类。 语法: class 子类类名:[继承方式] 父类类名 { } ; 继承的方式有三种: 1.共有继承...

2019-06-23 13:32:51

阅读数 29

评论数 0

【C++札记】友元

C++封装的类增加了对类中数据成员的访问限制,从而保证了安全性。如想访问类中的私有成员需要通过类中提供的公共接口来访问,这样间接的访问方式,无疑使得程序的运行效率有所降低。 友元的提出可以使得类外的函数来访问类中的私有成员,保护成员。 友元的使用分为三类: 1.类外的普通函数声明为该类的友元...

2019-06-22 18:54:33

阅读数 23

评论数 0

【C++札记】const关键字

C++中const关键字无处不在,我这里做下汇总,作为工具文章方便翻阅。 一:修饰数据成员 修饰的成员一单定义初始化后不能再进行修改,如: const int a = 10; a =20; //重新赋值直接会报错 当修饰类的成员函数时,先来段错误的代码 class Stude...

2019-06-21 15:41:31

阅读数 25

评论数 0

【C++札记】实现C++的string类

C++有了string类使得操作字符串变得很方便。有关string类,面试过程中也经常问到的就是自己实现一个sring类。下边实现个String类供大家参考: String.h #pragma once class String { public: //构造函数 String(const...

2019-06-18 15:34:12

阅读数 19

评论数 0

【C++札记】拷贝构造函数,浅拷贝和深拷贝

一:拷贝构造函数 拷贝构造函数是一种特殊的构造函数,遵循如下的规则: 1.函数名和类名一致,没有返回值。 2.必须有一个参数,参数是本类型的一个引用变量。 3.拷贝构造函数可以访问参数对象的任意成员(private也可以)。 4.若自己不提供拷贝构造函数,系统会提供默认构造函数,若自己定...

2019-06-18 11:21:22

阅读数 21

评论数 0

【C++札记】内联函数

概述 函数的使用使得相同代码不必多次重写,但会带来额外的开销,函数调用的过程中会有入栈和出栈,这些都会消耗时间。 如果一个函数在程序运行过程中被成千上万次调用,那么这个开销也是不容忽视的,C++中引入了内联函数,直接在函数前面加上inline,在编译过程中直接把函数代码内嵌,避免了运行过程...

2019-06-15 15:13:54

阅读数 18

评论数 0

【C++札记】函数重载

概述 函数重载指在相同作用域中多个函数名相同,函数的形参不同。 遵循规则: 1.函数名相同 2.函数的参数,类型,个数或顺序不一样都可以构成重载。 3.函数返回值得类型不同不构成重载,编译直接报错,存在二义性(ambiiguous) #include <iostre...

2019-06-15 14:25:37

阅读数 20

评论数 0

【C++札记】标准输入与输出

概述 C语言中使用函数scanf和printf作为标准输入和输出,在C++中引入了类cin和cout进行标准输入和输出,所需头文件为<iostream>,命名空间是std。这里所说的标准输入和输出是相对程序而言,输入是通过IO设备,如键盘输入到程序,输出是指输出到IO...

2019-06-14 15:27:10

阅读数 30

评论数 0

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