C++
文章平均质量分 52
洗头冠军
热爱产品,喜欢技术
展开
-
RSA算法的详细设计(C++)及不同优化策略的比较
本篇文章总结了我对RSA算法的理解和设计,并在后文对优化运行效率的方法做了对比分析。一、RSA算法简介密码学是研究如何隐密地传递信息的学科,它被认为是数学和计算机科学的分支,和信息论也密切相关。在很久之前的传统密码学中,使用的都是对称加密算法,即使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密。而现在使用的多为非对称加密算法。RSA算法是一种著名的非对称加密算法,所谓非...原创 2019-07-06 20:45:48 · 3181 阅读 · 1 评论 -
C++中的函数指针、函数对象和function函数对象
本文转自https://blog.csdn.net/vict_wang/article/details/81590984,对原文格式进行了一些调整。 1.函数指针指向函数地址的指针变量,在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址。函数指针主要由以下两方面的用途:调用函数和用作函数参数。声明方法:函数返回类型 + (指针变量名...转载 2019-01-03 14:43:13 · 622 阅读 · 0 评论 -
简易KD树(C++)
k-d树介绍和类定义k-d树(k-维树的缩写)是在k维欧几里德空间组织点的数据结构,可用在空间数据库和游戏优化等领域。具体来说,k-d树是每个节点都为k维点的二叉树。所有非叶子节点可以视作用一个超平面把空间分割成两个半空间。下面是我按着描述粗糙写的一棵简易KD树,完成了树的创建、插入、按区域搜索、最近邻搜索等操作。本例中多维点由vector<double>类型表示,其size...原创 2019-01-03 22:17:27 · 1195 阅读 · 0 评论 -
C++练习实例———贪吃蛇(OO思想)
这是一款在vs上直接控制台输出的贪吃蛇游戏,没有使用任何图形库。游戏具有多个界面,状态转换如下:上图的流程主要在main函数中体现,下面直接上代码:Position类,用来记录游戏中的坐标位置:#include<iostream>using namespace std;#ifndef POSITION_H#define POSITION_Hclass Po...原创 2018-09-30 11:55:26 · 755 阅读 · 0 评论 -
C++练习实例———探险者联盟
玩法规则:这篇博客介绍一个控制台输出的以探险为主题的小游戏,是文字形式的回合制游戏。游戏开始后,玩家控制随机的7名冒险者,他们分为由四种职业,每个职业有不同的技能:七名冒险者在20个关卡中前进,每个关卡都有可能遭遇怪兽,怪物的数量和种类是完全随机的,种类分为五种: (其实这个游戏的自由发挥空间非常大,以上这些角色都是现编的,可以随便改)当冒险家受到近距离攻击时...原创 2018-10-06 00:07:16 · 2262 阅读 · 4 评论 -
C++练习实例———中国象棋小游戏
通过在控制台输出字符来实现一个中国象棋小游戏实际上是很简单的,也非常有趣。游戏是人人对战模式,实现后的效果如下:代码思路很简单,就是创建好各个游戏对象的类,然后用一个管理类来实现游戏规则就可以了。但是这里我想说因为中国象棋的棋子种类和数量是固定的,可以视为稳定的代码(不会再扩展),继而整个程序都是稳定的,这里我认为就不需要使用多态或策略模式,使用多态是为了隔离程序中的稳定代码和变化代码,当...原创 2018-09-25 17:37:34 · 5342 阅读 · 0 评论 -
C++学习笔记——map
本文部分内容来自https://www.cnblogs.com/hailexuexi/archive/2012/04/10/2440209.html1.简介map是一类关联式容器。使用它之前需要包含头文件:<map>。map可以自动建立Key - value的对应。key 和 value可以是任意你需要的类型。例如:std:map<int, string> m...原创 2018-08-19 16:29:44 · 232 阅读 · 0 评论 -
零碎的编程细节笔记
C++中内部类和友元类功能类似。只是使用内部类时需要在类名前加 外部类名:: ,并且它可以不加类名的访问外部类中的static、枚举成员。其他的和友元类一样。 应该尽可能晚的定义新变量,直到非得使用它且可以给他初始实参为止,这样可以避免无意义的构造行为等。 C++新标准中规定可以用using来定义类型别名,如using temp=char*,temp即为char*的...原创 2018-10-09 11:28:05 · 188 阅读 · 0 评论 -
C++练习实例———成绩管理系统(链表)
这个学生成绩管理系统是大一时候的课程设计作业,系统没有可视化,具有增删改查几个基础功能,是最简单的控制台代码。整个程序有三个类,分别是单链表类、学生类和管理类,下面上代码。 首先是单链表类,用来存储学生信息,操作函数只写了几个,对于这个系统来说够用了。(注意这里因为用了模板,所以不能分离编译,需要将函数定义也写在头文件中)#include<iostream>#ifn...原创 2018-08-13 22:17:26 · 1019 阅读 · 1 评论 -
C++练习实例———控制台代码实现俄罗斯方块小游戏
在vs上写了一个俄罗斯方块的小游戏,输出画面就靠windows.h下面上代码。 首先写一个坐标类,方便后面的操作#ifndef POINT_H#define POINT_H//坐标类class Point{public: Point(int x = 0, int y = 0) : m_x(x), m_y(y){}; ~Point() {}; Point&a...原创 2018-07-20 18:45:44 · 11023 阅读 · 11 评论 -
c++学习笔记———c++中的lambda
lambda在c++11中lambda表达式用来实现匿名函数,而匿名函数在容器使用中有着非常大的用途。语法[ captures ] ( params ) -> ret { body }[ captures ] ( params ) { body }[ captures ] { body }这里比较不容易理解的是捕捉块captures的含义,其取不同值的含义如下:[] // 不捕...转载 2018-05-08 11:49:04 · 288 阅读 · 0 评论 -
C++练习实例———控制台实现坦克大战小游戏
本篇文章总结一下我在网上看到的一个C++坦克大战小游戏,我在原有的基础上加入了技能功能,并对碰撞代码进行了改进,然后将代码进行了整理,感觉很有意思。游戏中用到了EasyX图形库,这个库非常小巧轻便,下载地址:https://www.easyx.cn/downloads/ 现在正文开始,首先,创建一个简单的坐标类#ifndef POINT_H#define POINT_H...原创 2019-07-03 16:18:30 · 10033 阅读 · 16 评论