自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 C语言不用系统库(只用getchar和putchar)实现scanf和printf

因为C语言的printf和scanf有很多种数据类型,今天我就先实现三种吧,分别是%s, %d, %a,如何想要知道看如何实现double或者float浮点型的实现,所有函数自己手动实现,这是最好的学习方式。printf实现#include "stdafx.h"#include "stdio.h"char * Itoa(char * pStr, const int & rIn...

2019-12-27 16:53:36 598

原创 基于GMSSL的常用算法特点总结以及源代码分享

本文主要有两部分,第一部分是主要是总结一些算法的特点,第二部分是源代码,主要是基于GMSSL库的正确性测试和性能测试

2022-07-09 15:04:08 1305 1

原创 jni编程 C++调用java详解

jni编程 C++调用java详解

2022-06-07 11:22:58 3579 4

原创 C++单例模式详解

单例模式(Singleton):一种常用的设计模式,一般指在一个进程中使用单例模式的类只允许存在一个实例化对象,应用场景:管理共享资源: 常见于程序配置文件,在整个程序运行期间,使用单例模式的类实例化对象来统一管理配置文件,该进程的其他对象通过访问该实例化对象来操作配置文件,在复杂的应用程序中简化了配置文件的管理。功能单一但是不适合频繁实例化或者销毁的对象, 单例模式只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个模块使用同一个数据源连接对象等..

2021-01-27 22:22:23 933 2

转载 Linux中apt与apt-get命令的区别与解释

原文出处:https://www.sysgeek.cn/apt-vs-apt-get/Ubuntu 16.04 发布时,一个引人注目的新特性便是 apt 命令的引入。其实早在 2014 年,apt 命令就已经发布了第一个稳定版,只是直到 2016 年的 Ubuntu 16.04 系统发布时才开始引人关注。随着 apt install package 命令的使用频率和普遍性逐步超过 apt-get install package,越来越多的其它 Linux 发行版也开始遵循 Ubuntu 的脚步,开始.

2021-01-22 22:20:16 123

原创 红黑树的实现

定义:每个结点要么是“红色”,要么是“黑色”(后面将说明)所有的叶结点都是空结点,并且是“黑色”的如果一个结点是“红色”的,那么它的两个子结点都是“黑色”的。结点到其子孙结点的每条简单路径都包含相同数目的“黑色”结点根结点永远是“黑色”的首先,是先有红黑树,再通过无数的经验总结出来了红黑树特殊的性质。所以不必深入研究这些性质是怎么来的。2.说明:红黑树全名平衡二叉检索树,主要应用于一些系统方面:Linux进程调度 CFSNginx Timer事件管理Epoll事件块的管理.

2021-01-18 21:44:18 196

原创 平衡二叉树的原理及实现代码

1.平衡二叉树的原理定义:1、定义:  (1)任意一个节点的左右子树高度差的绝对值不超过的1.  (2)任意节点的左右子树都是平衡二叉树的二叉查找树.2、说明:二叉树是通过空间换取时间的数据结构,查找速度有点类似于二分法,平衡二叉树是基于二叉树的一个优化,主要用来解决普通的二叉树在使用时会出现单支二叉树的极端情况,这样的话二叉树就和普通的链表(时间复杂度(O(Logn)))没啥区别,无法体现二叉树的O(Logn)的时间复杂度的优势.3、平衡二叉树的判断标准–平衡因子:(1)定义:平衡因子

2021-01-18 19:36:17 250

转载 Ubuntu各版本镜像文件

http://mirrors.melbourne.co.uk/ubuntu-releases/

2021-01-10 20:26:35 373

原创 探讨C++11新标准(二)-移动语义和右值引用

今天我们主要讨论C++11的移动语义和右值引用,其中包含一些问题,什么是移动语义?,C++11如何支持他,为什么需要移动语义?强制移动move函数,本章主要讨论以上问题,有兴趣的可以继续往下阅读。为什么需要移动语义?我们先来看看这段C++11之前的代码string a(1000, 'a');//对象a有1000个字符假设他有一个函数将a中的1000个字符反转一下返回一个新的对象。string Revarsal(string & str){ string temp; //do som

2020-06-30 10:22:41 140

原创 探讨C++11新标准(一)-C++11的一些语法变化

c++11内容也不少,所以我分为三篇文章去探讨,第一篇主要探讨一些新的语法变化,第二篇主要探讨移动语义和右值应用,第三篇主要讲解类的变化。

2020-06-20 17:32:23 543 1

转载 g++编译后运行时无法链接动态库的解决方法

本文详细介绍了linux 下gcc头文件指定方法,以及搜索路径顺序的问题。另外,还总结了,gcc动态链接的方法以及路径指定,同样也讨论了搜索路径的顺序问题。本文包含了很多的例子,具有很强的操作性,希望读者自己去走一遍。一.#include <>与#include “”#include <>直接到系统指定的某些目录中去找某些头文件。#include “”先到源文件所在文件夹去找,然后再到系统指定的某些目录中去找某些头文件。二.gcc指定头文件的三种情况:1.会在默认情况下指定

2020-06-15 12:06:09 1797

原创 简单实现STL的迭代器Iterator

自己动手实现STL的迭代器.我将在本偏文章中STL中的List链表类来当做例子,来实现迭代器原理.所以对链表不太熟悉的也可以进来看看.迭代器说到底就是将数据层和用户交互层中间增加一个外壳,让用户不用关心底层数据存储和管理是如何实现,在保护了数据的同时也更加方便了用户的使用。首先list是个模板链表类首先声明类template <typename T>class List{ };2.为了用链表的方式存储数据,类中必须有一个不能让用户看到的结点结构体,方便管理链表,类中还必

2020-06-14 17:15:54 201

原创 关于C++类的几种编译器默认提供的构造函数和析构函数总结

出来工作2个月了,因为最近用到一些平时用的比较少C++11的构造函数,今天有时间就总结一下

2019-12-27 10:47:59 1530

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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