自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

送故事的妖怪

那一年,我十六岁...

  • 博客(67)
  • 资源 (10)
  • 问答 (2)
  • 收藏
  • 关注

原创 外部访问C++类的私有方法和私有变量

我们知道,C++类私有方法和变量是不允许通过类实例直接访问的,这样子的操作会导致编译报错。但有没有方法访问到呢?有的。首先,我们需要知道C++和C语言本质上是没有什么区别的,C++只是语法层面上对C语言的封装。所有C函数,只要有声明和定义,那就可以使用,不存在public和private的区分。C++的public, private和protected限定的作用只在于编译期,当我们进入到运行期的时候,就无所谓public/private/protected了。然后我们知道,函数都是保存在代码段的,那么C

2021-03-11 14:55:01 1453 1

原创 win10右键卡死

win10文件夹卡死解决方案现象当右键点击文件夹时,就开始转圈圈,转很久之后才能把右键菜单弹出来。原因右键菜单中某个条目对应软件设计不合理,导致打开右键菜单要花费很长时间。理论上只需要卸载掉该软件或者右键菜单禁止该条目功能就可以解决问题。解决步骤下载shexview访问http://www.nirsoft.net/utils/shexview.html,点击"Download ShellExView for x64",下载并解压即可。管理员权限打开shexview.exeOpti

2020-10-16 15:20:00 999 1

原创 将金额使用汉字表示

将金额使用汉字表示#include <iostream>#include <sstream>int main(){ double money = 0; char* chnNums[] = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; char* chnUnits[] = {"亿", ...

2020-01-10 18:17:15 433

原创 计算正整数中1的数目

这是从编程之美上看到的一道题,简述题目内容如下:给定正整数N,计算出从1到N的所有数字的十进制表示中出现1的次数,并找出能够满足f(N)==N的最大的N值。比如f(12) = 5, 因为存在的数字有:1,10,11,12,总共五个1。1. 寻找1出现的次数暴力方法最简单的方法是将N个数全部遍历一遍,对每个数计算出其中1的个数,然后累加。具体代码如下:func f(N uint) uint...

2019-10-22 14:49:15 418

原创 GO bufio解读

Reader// Reader implements buffering for an io.Reader object.type Reader struct { buf []byte rd io.Reader // reader provided by the client r, w int // buf read and write posi...

2019-09-12 11:16:44 397

原创 Go语言 strings包

Go标准库中strings包的methods如下,加*的函数会描述用法func Count(s, substr string) intfunc Contains(s, substr string) bool func ContainsAny(s, chars string) bool ...

2019-09-10 17:02:40 645

原创 Pyinstaller使用笔记

首先需要使用以下命令生成spec文件:pyi-makespec main.py ## 生成main.spec打开生成main.spec文件,详解如下:# -*- mode: python ; coding: utf-8 -*-block_cipher = Nonea = Analysis(['src\\main.py'], ### 工程入口文件 ...

2019-09-03 16:09:02 1021

原创 C++11 std::bind

#include <functional>std::bind的作用是为已经存在的一个函数绑定参数,并返回一个新的函数对象。对于一个普通函数,如下:int add(int a, int b){ return a + b;}假设有一种场景,我们需要计算任意一个数与12相加的和,要求调用这个函数。我们可以做如下处理:std::function<int(int)...

2019-08-29 21:43:48 333

原创 段页式存储管理

分段存储管理在分段存储管理方式中,每个进程的地址空间被分为若干个地址连续的段。每个段是一个完整的逻辑信息单元,故而分段式存储管理能更加轻易实现共享。操作系统将每个段离散地加载到各个分区中。如图:分段存储方式地逻辑地址表示如下:段页式存储管理分页系统能更加高效地利用主存,分段系统能更轻易实现共享,通过将二者结合,系统就能兼具二者优点。段页式系统是先将进程地址空间分为若干段,然后在段内...

2019-08-22 13:53:16 1615

原创 分页存储管理

在使用分区存储管理时,如果系统不能为进程找到一块连续的足够大的分区,就需要进行分区靠拢操作,非常耗费系统时间。分页存储管理是指,将系统内存物理地址空间分为若干大小固定的块(页框或物理块),将进程的逻辑地址空间也分为相同大小的若干页,系统通过为每一个进程维护一张页表来寻找对应的物理地址。采用分页存储管理后,进程的逻辑地址组成如下:而页表的内容则是页号与物理块的映射,如图:如果进程中的逻辑地...

2019-08-21 13:42:11 481

原创 分区存储管理

分区存储管理是一种很早期的内存管理方案,其基本思想是将内存区域划分为多个区,给每个作业分配一个区使用,并且每个作业只能在被分配的区中运行。按照划分方式不同,主要有三种不同的分区方式:固定分区,可变分区,重定位分区固定分区固定分区是指当程序载入时,系统为程序选择一个大小最接近作业大小的分区。如上图所示,新作业大小与分区3接近,故而新作业将被加载到分区3中。由于每个作业大小不一定能恰好等于...

2019-08-20 14:26:42 4289

原创 Python实现状态机

对于一个状态机,最基本的要素就是状态和事件,所以根据这个思路,我们可以设计一个具备基本功能的状态机。以看碟片为例,DVD的状态包含:已开机,正在播放,正在暂停,已关机。而触发这些状态的事件有:遥控开机,遥控播放,遥控暂停,遥控关机。所以画一个状态转换表如下:首先,设计状态基类。class FsmState: def enter(self, event, fsm): ## 参数ev...

2019-08-13 16:14:20 6288 5

原创 Cocos creator 发布android应用

cocos creator v2.1.1NDK 20.0.5594570android sdk API level 29gradle-4.10.3环境变量设置GRADLE_USER_HOME(这个是必须的,路径一般是C:\Users<username>.gradle), ANDROID_SDK_ROOT, GRADLE_ROOT设置原生开发环境项目发布这一步时,由...

2019-07-11 14:23:56 312

原创 生成器与协程

操作系统会为每个函数分配一个栈帧,但是对于python中生成器所在函数,其栈帧是分配在堆上面的,所以其函数运行状态能够一值保存。此即生成器实现原理。做个实验,打印生成器函数地址和普通函数地址def yieldFunc(): for i in range(5): yield idef normalFunc1(): for i in range(4, 5): ...

2019-06-05 16:28:53 485

原创 使用python调用高德地图的web服务

在使用高德地图的web 服务之前,需要先注册为高德开发者 https://lbs.amap.com/api/webservice/summary/注册完毕后,进入控制台可以看到如下界面:点击“应用管理–>我的应用–>创建新应用”创建完毕之后,点击加号(添加key)有了key之后,就可以使用高德提供的web服务了以高德提供的“行政区查询”功能为例,首先我们访问 https:...

2019-05-06 02:52:21 2151

原创 C++ mutable关键字

对于一个类而言,类的成员发生变化,并不意味着这个类在语义上发生变化。比如:class Website{public: void readPage() const { // show this page ++visitorNum; // 改变访问者数量,并不意味着这个网站发生了变化 }private: m...

2019-05-05 12:52:52 268

原创 C++利用虚表指针访问类私有函数

一、C++虚表指针编译器在编译时为每一个含有虚函数的类都会创建一个一维虚函数表,不同编译器实现细节可能不同类中虚函数的地址在虚函数表中按照顺序排列类的虚表指针就指向类的虚函数表,一般情况下,虚表指针存放在类实例的头部类的虚函数表可以继承类对象的虚表指针是在类初始化时初始化的,这也就是多态实现的原理二、使用虚函数表获得类的私有函数#include <iostream>#i...

2019-04-26 12:43:50 599

原创 cmake+mingw构建java工程

这里使用最简单的HelloWorld工程来介绍怎么使用cmake和mingw来创建JAVA工程PRECONDITIONJDK已经配置好cmake已经安装mingw已经安装工程文件结构HelloWorld|–build|–CMakeLists.txt|–src|----HelloWorld.javaWrite CMakeLists.txt具体代码如下:cmake_m...

2019-01-17 23:52:42 1091

原创 我来帮你计算24点

将4张扑克正面放在桌面上,玩家使用简单的四则运算对四张牌进行计算,使得计算结果等于24,每张牌只能使用一次

2017-02-26 01:59:56 1386

原创 Win7 64bits os下安装MySQL5.7方法

win7 64位系统安装MySQL5.7的方法

2016-11-25 14:29:42 501

原创 判断栈的出栈顺序是否正确

判断栈的出栈顺序是否正确

2016-10-28 21:51:56 7747 1

原创 顺时针打印矩阵

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.

2016-10-05 17:52:10 408

原创 二叉树的镜像

操作给定的二叉树,将其变换为源二叉树的镜像。

2016-10-05 17:43:57 261

原创 判断一棵二叉树是否是另一棵二叉树的子树

输入两棵二叉树A,B,判断B是不是A的子结构。(空树不是任意一个树的子结构)

2016-10-05 17:39:16 1207

原创 调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

2016-10-05 17:31:48 294

原创 变态跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。好的吧,实际上我并没有看出这道题和上一道跳台阶有什么本质上的差别,对我们而言,这就是一个加强版的斐波那契,原理上没有一丝不同。贴码如下:int jumpFloorII(int number) { if(number < 0) return 0; if(number ==

2016-10-05 17:21:25 323

原创 跳台阶

青蛙跳台阶的问题

2016-10-05 17:18:37 320

原创 旋转数组的最小元素

旋转数组的最小元素

2016-10-05 17:13:07 307

原创 在二维数组中查找元素

在二维数组中查找元素

2016-10-05 16:58:50 3225

原创 反转单向链表

反转单向链表

2016-10-05 16:26:33 469

原创 查找一个单向链表中倒数第K个元素

查找一个单向链表中倒数第K个元素

2016-10-05 16:09:59 1027

原创 根据先序遍历序列和中序遍历序列重建二叉树

其实这个题是很有趣的,我在学习二叉树的时候,先序遍历、中序遍历、后续遍历,歘歘歘几行代码就递归完了,但是却没考虑过如果得到了遍历序列后通过遍历序列将二叉树还原。后来就做各种笔试题,然后就碰到了这个问题:根据先序遍历序列和中序遍历序列重建二叉树,yeah,不错,《剑指offer》上面的题。

2016-10-05 15:44:00 887

原创 使用C++访问MySql数据库的方法

使用C++(基于VS2012)访问MySql数据库

2016-10-05 01:21:01 2268

原创 区间重合判断问题

区间重合判断问题问题描述:给定一个区间[x,y]和N个无序的目标区间[x1,y1][x2,y2]…[xn,yn],判断源区间[x,y]是不是在目标区间内(即判断[x,y]属于目标区间的并集是否成立)。详细题目:《编程之美》章节2.19

2016-09-07 22:40:00 807

原创 中国象棋将帅问题

在《编程之美》中,作者给出了三种解法,我的解法与那三种解法相比没有性能优点,唯一的优点在于利用了十六进制的特殊性,使结果打印不需要进行转换,可以直接对应棋盘上的位置。/* * 棋盘参见《编程之美》1.2节,将帅和将的所有可能出现的位置打印出来 * 要求: 只用一个字节存储变量 * StoryMonster 2016/7/15 */

2016-07-16 12:36:03 540

原创 使程序的cpu占用率呈现正弦曲线

使一个程序的cpu占用率以正弦波的形式呈现

2016-07-16 12:32:41 934

原创 使程序占用CPU稳定在一个输入值(linux系统)

《编程之美》是基于windows系统的,而我使用的是ubuntu,所以在完成这道题的时候使用的是linux系统 1. top–>查询当前cpu运行状态 2. cat /proc/cpuinfo –>主机的cpu信息/* * 编程改变cpu占用率 * StoryMonster 2016/7/15 */

2016-07-16 12:27:30 434

原创 四位可逆素数

/* * 四位可逆素数:将一个四位数的素数进行反序后其依然是一个素数 * StoryMonster 2016/7/12 */

2016-07-16 12:21:28 2161

原创 孪生素数

/* * 求1000以内的孪生素数。孪生素数:若a为素数,且a+2也是素数,则素数a和a+2称为孪生素数 * StoryMonster 2016/7/12 */

2016-07-16 12:20:40 1069

原创 回文素数

/* * 求1000以内的回文素数,回文:前后对称 * StoryMonster 2016/7/12 */

2016-07-16 12:19:53 379

NameGenerator.rar

随机生成姓名的工具,附带GBK编码的汉字6728个,百家姓504个。 汉字和姓名均为每行一个。 附带源码。

2019-11-25

python写的小型搜索引擎

自己利用空闲时间写的一款再dos下运行的简单搜索引擎,可以再自己给定的网页范围内查找信息,并且下载指定网页上的内容。内中包含简单的工程文档,代码还算规范,所以不需要太多注释就基本能看懂。学习python没多久的同学可以看一下,对于学习python能够给出一定的启发

2016-12-29

python 搜索引擎

自己利用空闲时间写的一款再dos下运行的简单搜索引擎,可以再自己给定的网页范围内查找信息,并且下载指定网页上的内容。内中包含简单的工程文档,代码还算规范,所以不需要太多注释就基本能看懂。学习python没多久的同学可以看一下

2016-12-29

2048(python)

这是一个使用python语言写的基于dos窗口下的2048小游戏. 代码150行左右, 小巧轻便. 使用了pythoncom ,pyHook等包

2016-10-21

教务管理系统(Python)

这是一个使用Python实现的基于dos下面向数据库的教务管理系统,实现了管理员、教职工、学生三种不同身份的操作,可以实现的功能有:学生、教职工信息管理、不同权限的信息发布、管理各种信息等。代码约1200行,对于python初学者应该能提供一些帮助

2016-10-17

贪吃蛇(童年经典)源码

经典游戏贪吃蛇,但是本游戏难度略大,作为作者却没有胜利过,感觉非常羞愧

2016-10-05

图片浏览工具

这是个简单的图片查看工具,可以浏览文件夹下所有文件,适合Qt初学者参考

2016-10-05

五子棋源代码

五子棋源代码

2016-10-05

2048Qt小游戏源码

使用Qt制作的2048小游戏,能够对于初学者有一定的帮助

2016-10-05

Qt飞机大战

使用QT写的微信飞机大战,仅供Qt和C++爱好者学习借鉴

2016-08-07

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

TA关注的人

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