-
c++ 预处理之正整型实现方法
所属栏目:[经验] 日期:2020-12-30 热度:127
虽然通过一系列的奇技淫巧,让预处理也图灵完备一把,但是用预处理来做计算,真的很吃力不讨好。因为预处理一开始设计出来的目的,就没什么野心,原本就仅仅只是为了做简简单单的文本替换工作,并没有想过要成为正儿八经的编程语言,即便是最最缩水版脚本语[详细]
-
C语言实现2048小游戏
所属栏目:[经验] 日期:2020-12-30 热度:166
本文实例为大家分享了C语言实现2048小游戏的具体代码,供大家参考,具体内容如下 具有以下特点: 1.linux下完成 2.非堵塞键盘读取 3.随机生成2和4 #include stdio.h #include stdlib.h #include unistd.h #define TTY_PATH "/dev/tty" #define STTY_ON "stty[详细]
-
C++ 智能指针的模拟实现实例
所属栏目:[经验] 日期:2020-12-30 热度:94
C++ 智能指针的模拟实现实例 1.引入 int main(){ int *p = new int; //裸指针 delete p; return 0;} 在上面的代码中定义了一个裸指针p,需要我们手动释放。如果我们一不小心忘记释放这个指针或者在释放这个指针之前,发生一些异常,会造成严重的后果(内存泄[详细]
-
C语言动态内存分配的详解
所属栏目:[经验] 日期:2020-12-30 热度:89
C语言动态内存分配的详解 1.为什么使用动态内存分配 数组在使用的时候可能造成内存浪费,使用动态内存分配可以解决这个问题。 2. malloc和free C函数库提供了两个函数,malloc和free,分别用于执行动态内存分配和释放。 (1)void *malloc(size_t size); mal[详细]
-
从C语言过渡到C++之const
所属栏目:[经验] 日期:2020-12-30 热度:167
1. 定义常量 1.1 C语言中定义常量的方法 在C语言从零开始这个系列中,我们讲了C语言定义常量的方法。没有看过的同学请参考:C语言从零开始(五)-常量lt;stdio.h#define SUM 5 + 1;void main(){ int a = 2 * SUM; printf("%d",a);} 经常有人答12,其实结果是[详细]
-
C++ 单例模式的详解及实例
所属栏目:[经验] 日期:2020-12-30 热度:147
C++ 单例模式的详解及实例 1.什么叫单例模式? 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输[详细]
-
从C语言过渡到C++之引用(别名)
所属栏目:[经验] 日期:2020-12-30 热度:110
今天要讲的是C++中我最喜欢的一个用法――引用,也叫别名。 引用就是给一个变量领取一个变量名,方便我们间接地使用这个变量。我们可以给一个变量创建N个引用,这N + 1个变量共享了同一块内存区域。 1. 声明引用 创建引用的格式如下: 数据类型 引用名 = 原[详细]
-
浅谈C++11新引入的lambda表达式
所属栏目:[经验] 日期:2020-12-30 热度:147
ISO C++ 11 标准的一大亮点是引入Lambda表达式。基本语法如下: [capture list] (parameter list) -return type { function body } 简单的讲一下各个部分的作用 1.[capture list]捕获列表,捕获到函数体中,使得函数体可以访问 2.(parameter list)参数列表,[详细]
-
深入理解Qt中各种消息框对话框的使用
所属栏目:[经验] 日期:2020-12-30 热度:95
最近在学习Qt框架,今天学习了一下消息框的使用, 现整理出来以作记录。 在程序运行时,经常需要提示用户一些信息,比如警告啊,提示啊,建议啊之类的东西。这些东西基本上是通过消息框与用户进行交互的,Qt中主要是用QMessageBox类来加以实现的。 消息框一[详细]
-
Windows 环境下使用 Qt 连接 MySQL
所属栏目:[经验] 日期:2020-12-30 热度:58
如果应用只需要连接远程数据库,那么本地不需要安装 MySQL,只需要找到 MySQL 提供的 libmysql.dll 和libmysqld.dll 两个动态连接库,把他们加入到 Qt安装目录5.9mingw53_32bin;默认 Qt 自带已编译好的 qsqlmysql.dll 和 qsqlmysqld.dll (文件路径为 Q[详细]
-
c语言基于stdarg.h的可变参数函数的用法
所属栏目:[经验] 日期:2020-12-30 热度:79
C语言编程中有时会遇到一些参数个数可变的函数,本文详细讲解了可变参数函数的实现原理,分享给大家 在开始学习C语言的函数的时候,我们就知道函数的参数个数应该是在函数声明的时候就指定的,这一点我们没有任何疑问。但是不知道大家有没有注意到我们的print[详细]
-
C/C++ MD5算法的实现代码
所属栏目:[经验] 日期:2020-12-30 热度:98
在逆向程序的时候,经常会碰到加密的算法的问题,前面分析UC的逆向工程师的面试题2的时候,发现使用了MD5的加密算法(MD5算法是自己实现的,不是使用的算法库函数)。尤其是在逆向分析网络协议的时候,一般的程序使用的加密算法都是使用的库函数提供的算法,[详细]
-
C++ 开发之实现操作符重载的实例
所属栏目:[经验] 日期:2020-12-30 热度:188
C++操作符重载 实现效果图: 实例代码: Matrix.h #pragma once #include "vector" #include "iostream" #define rep(i,n) for(int i=1;i=n;i++) //宏定义for循环,精简代码 using namespace std; class Matrix { public: //基本构造函数 Matrix(int Row=0,i[详细]
-
cmake 学习笔记
所属栏目:[经验] 日期:2020-12-30 热度:152
最近接触到一些工程上的代码,都是用cmake来编译的,每次看着CMakeLists.txt 就各种懵逼,决定从0 开始学习 1 set set(var hello)message(${var}) 输出 hello 其实并不是单单输出hello,还有很多其他信息,会生成很多文件 files 2 CMAKE_C(XX)_FLAGS 变量 CM[详细]
-
c++ 面向对象的类设计
所属栏目:[经验] 日期:2020-12-30 热度:70
类的设计在于用恰到好处的信息来完整表达一个职责清晰的概念,恰到好处的意思是不多也不少,少了,就概念就不完整;多了,就显得冗余,累赘,当然特例下,允许少许的重复,但是,这里必须要有很好的理由。冗余往往就意味着包含了过多的信息,概念的表达不够[详细]
-
数据结构 红黑树的详解
所属栏目:[经验] 日期:2020-12-30 热度:187
数据结构 红黑树的详解 红黑树是具有下列着色性质的二叉查找树: 1.每一个节点或者着红色,或者着黑色。 2.根是黑色的。 3.如果一个节点是红色的,那么它的子节点必须是黑色。 4.从一个节点到一个NULL指针的每一条路径必须包含相同数目的黑色节点。 下面是一[详细]
-
C语言数据结构树之后序遍历的实现
所属栏目:[经验] 日期:2020-12-30 热度:185
后续遍历的实现: 数据结构树中的后续遍历,这里提供简单实例,代码中有注释,大家参考下! 看下实现效果: 题目及分析 给定树的先序遍历和中序遍历,求后续遍历 输入 abdec dbeac 输出 debca 三、实现代码: #include iostream#include stringusing namespa[详细]
-
自己模拟写C++中的String类型实例讲解
所属栏目:[经验] 日期:2020-12-30 热度:60
下面是模拟实现字符串的相关功能,它包括一下功能: String(const char * s);//利用字符串来初始化对象 String(); //默认构造函数 String(const String //复制构造函数,利用String类型来初始化对象 ~String(); //析构函数 int length(); //返回String类型中[详细]
-
C,C++中常用的操作字符串的函数
所属栏目:[经验] 日期:2020-12-26 热度:83
小小的做一个总结 函数名: stpcpy 功 能: 拷贝一个字符串到另一个,遇到' '时停止拷贝,destin要有足够大的空间 用 法: char *stpcpy(char *destin,char *source); 函数名: strcat 功 能: 字符串拼接函数,注意,destin要有足够大的空间 用 法: char *strca[详细]
-
C语言实现运筹学中的马氏决策算法实例
所属栏目:[经验] 日期:2020-12-26 热度:121
本篇章节讲解C语言实现运筹学中的马氏决策算法。供大家参考研究具体如下: 一、概述 马氏决策(Markov decision)是马尔可夫决策过程(Markov Decision Processes,简记为MDP)的简称,是研究随机序贯决策问题的一门重要理论。马氏决策是一类可连续进[详细]
-
c语言获取当前工作路径的实现代码(windows/linux)
所属栏目:[经验] 日期:2020-12-26 热度:139
Linux 函数名: getcwd 功 能: 取得当前的工作目录 用 法: char *getcwd(char *buf,size_t size); 函数说明: getcwd()会将当前的工作目录绝对路径复制到参数buf所指的内存空间,参数size为buf的空间大[详细]
-
.net core如何使用Redis发布订阅
所属栏目:[经验] 日期:2020-12-26 热度:120
Redis是一个性能非常强劲的内存数据库,它一般是作为缓存来使用,但是他不仅仅可以用来作为缓存,比如著名的分布式框架dubbo就可以用Redis来做服务注册中心。接下来介绍一下.net core 使用Redis的发布/订阅功能。 Redis 发布订阅 Redis 发布订阅(pub/sub)是[详细]
-
利用Swift如何判断iPhone X机型详解
所属栏目:[经验] 日期:2020-12-26 热度:139
前言 Apple Special Event 已经结束,iPhone 三款新机型和技术细节也已完全暴露。可以说,发布会前泄漏了 95% 以上的信息,以致于发布会一点惊喜也没有。 尽管 iPhone 8 实际上只是 iPhone 7s,而 iPhone X 我们也早已对它非常熟悉――特别是刘海。无论是满[详细]
-
.Net Core使用Socket与树莓派进行通信详解
所属栏目:[经验] 日期:2020-12-26 热度:146
前言 去年买的树莓派一直放在抽屉里吃灰,前些阵子Debian 9发布,也不出意外的支持了树莓派。 于是重新拿出读卡器又重新了装上了Debian桌面版系统。 介绍 现在这个东西目前的程度只是了解一下Python和.Net的通信。最佳的版本应该是,可以通过服务器端远程执[详细]
-
shiro缓存机实例代码
所属栏目:[经验] 日期:2020-12-26 热度:131
Shiro提供了类似于Spring的Cache抽象,即Shiro本身不实现Cache,但是对Cache进行了又抽象,方便更换不同的底层Cache实现。 Shiro提供的Cache接口: Java代码 public interface CacheK,V { //根据Key获取缓存中的值 public V get(K key) throws CacheExceptio[详细]
