自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CV战士的日常

代码如同上帝之手,在虚拟的世界创造无限可能

  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 UE4 结构体序列化和反序列化

UE4 结构体序列化和反序列化

2022-09-26 18:53:44 1524 1

原创 UE4源码编译报错 “error MSB3644: 未找到框架“.NETFramework,Version=v4.6.2”的引用程序集“

error MSB3644: 未找到框架“.NETFramework,Version=v4.6.2”的引用程序集

2022-08-11 09:20:06 1236

原创 使用Jenkins调用Python脚本发送企业微信消息

使用Jenkins调用Python脚本发送企业微信消息

2022-07-09 01:13:06 694

原创 LeetCode第79次周赛 AC两道,第二道题TL很可惜

周末没事就参加了LeetCode的周赛,正好看看周赛是怎么回事,和正常刷题还是不一样的,紧张感会更强一些,并且调试的时候不会告诉你正确结果是什么,只会看到当前的输出。第一道题很简单,很容易就ac了,但是由于我写的比较慢,并且调试和有些函数记忆的并不是很清楚,浪费了一点时间 , 虽然通过了但是这个时候已经过了15分钟赛后才发现,来自小日子过的很不错的选手 这个时候已经全部做完了第二道题呢,其实也是很简单,只是我没有注意到一个小细节,就是输入的数据是可以重复的,第一次没有通过我就赶紧看下一个题好

2022-05-29 20:59:22 206

原创 Lua number转二进制

local function byte2bin(n) local t = {} --32表示二进制最大位数 for i=32-1,0,-1 do t[#t+1] = math.floor(n / 2^i) n = n % 2^i end --return table.concat(t) return t end ...

2022-05-27 10:01:06 791

原创 python批量添加或删除文件的前缀

批量修改文件名,在window中如果全选所有文件进行重命名 会生成 newname (i) 这样的格式并且会有一个空格,感觉很不爽,如果一个一个修改,费事费力费眼睛,所以用python实现了批量修改当前文件夹中所有文件前缀的功能.添加前缀 B_ 可以自行修改#coding:utf-8import os;def rename(): path='.\\'; filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹) for files in fileli

2022-04-27 15:31:25 1805 1

原创 lua删除表中多个相同的元素

--[[--从表格中删除指定值,返回删除的值的个数array 数组value 数组中目标值removeall 是否都删除(如果不传则默认只删除第一个匹配的值)local array = {"a", "b", "c", "c"}print(table.removebyvalue(array, "c", true)) -- 输出 2]]function table.removebyvalue(array, value, removeall) local c, i, max = 0, 1.

2022-04-22 16:40:03 831

原创 应用组件的命名与已安装应用有冲突

包名不一样的两个马甲包安卓机器安装的时候还会报应用组件的命名与已安装应用有冲突需要修改AndroidManifest.xmlandroid:authorities="包名.fileProvider"查看是不是漏改这个属性了

2022-04-22 16:34:26 3016 1

原创 32位64位 long类型所占字节数不同

16位系统:long是4字节,int是2字节32位系统:long是4字节,int是4字节 , long long是8字节64位系统:long是8字节,int是4字节 , long long是8字节long类型的数据在32位和64位的系统中所占用的字节数是不同的如果在32位中使用了long类型的数据协议,那么就会导致在64位的系统中读取long类型的数据发生错误这个时候就要兼容32位和64位如果数据没有超过int的取值范围 就可以将long 改成int如果超过int的取值范..

2022-04-16 09:35:32 11520 3

原创 cocos2dx TableView 在手机上滑动很慢和优化(点按钮不能滑动和跳到指定位置等)

修改CCScrollview.cpp中的BOUNCE_BACK_FACTOR#define BOUNCE_BACK_FACTOR 0.05f

2022-04-16 09:24:03 2043

原创 C++入门教程(24)深入理解递归

递归其实是在学习编程的过程中一个很神奇的东西,初次使用,你会觉得它很不可思议,甚至会觉得它很神奇。如果看过火影的朋友可以将递归理解为大蛇丸的一种忍术:我吐我蛇叔->吐蛇叔->吐蛇叔->吐蛇叔->。。。->吐蛇叔因为不能无限制的吐,总要结束,所以吐剑的时候就结束了,如果吐的不是剑就可以继续吐,哈哈这个吐就可以理解成为我们的递归函数fun()每个递归函数都要有结束的条件,这个条件一般由参数去控制,否则会导致这个递归函数无限的调用下去,使程序异常简

2022-04-05 22:36:09 978

原创 C++入门教程(23)深度优先,广度优先(连连看判断是否可以消除)

最近看一个人实现连连看是否可以消除的核心代码,几分钟就写完了,手痒痒自己写了一遍需求:实现一个函数,输入两个选中的块,判断是否可以消除连连看规则,两个相同的块可以消除,但是需要满足以下条件,两个块的连线上不能有其他块连线的转折次数不能超过2最边界的两个块可以绕出地图一个格子去连线首先是实现连连看的地图,本例使用的是10X10的地图,边界都为0,真是的块只有8X8int map[MaxLen][MaxHeight] = { 0,0,0,...

2022-03-28 22:19:30 1040

原创 C++入门教程(22)连续区间最大和问题(股票最大收益)

最近看到一个连续区间最大和的问题,很感兴趣,主要是因为这个问题可以用于求一段时间内的股票最大收益问题。而一段连续的数字就是每一时刻股票的波动情况以某指数为例:下方红绿即为每一时段的变化,对应上方是当前时段对应的价格,在什么时间段买入和卖出才能获取最大的收益呢?我首先想到的就是在最低点买入,最高点卖出了,可以通过遍历求出前N项和,得到股票最高点和最低点的时刻,然后进行交易,最低点买入最高点卖出。但是这样处理有一个问题,就是最高点可能提前于最低点出现,也就是说通过上述方法得到的结果可能为

2022-03-27 20:32:26 1440 1

原创 C++入门教程(21)xml解析(tinyxml2)

tinyxml官网:www.grinninglizard.com右侧点击tinyxml-2跳转到github代码仓库https://github.com/leethomason/tinyxml2下载解压后可以看到目录下有一个vs文件夹在windows环境可以使用这里面的工程用vs打开来查看自带的用例打开以后可能会编译不通过根据提示修改项目->属性->配置属性->调试->工作目录 改为..windowsSDK改为当前可用的然后就可以运

2022-03-24 20:42:18 1742

原创 C++入门教程(20)json解析(jsoncpp)

jsoncpp在github上地址:https://github.com/open-source-parsers/jsoncppjsoncpp在使用的时候需要先编译在window上可以使用cmake工具来编译,官方下载地址:https://cmake.org/download/在Linux或者max环境可以先下载jsoncpp到本地,解压后在jsoncpp-master目录下创建一个build目录打开终端:cd 到当前build目录执行命令:cmake ..

2022-03-22 21:22:08 2486

原创 C++入门教程(19)多线程 互斥锁(thread)

多线程,当多个任务一起执行的时候,如果有一个任务需要等待的时候,那么我们希望其他的任务能够继续进行,这种情况,就可以使用多线程来处理。例如模拟火车站售卖火车票。假如有两个窗口,每个窗口在出票的时候需要有一段时间来打印车票,这个时候其他的窗口应该可以继续售票,不受影响我们用程序来模拟售票的过程#include <iostream>#include <thread>#include <mutex>using namespace std;//

2022-03-20 20:53:17 1436

原创 C++入门教程(18)socket 实现简单聊天室

本节通过socket实现一个简单的聊天室功能聊天室中如果有人说话,则服务器负责将内容传送给聊天室的其他人那么就需要客户端和服务端两个程序,客户端负责发送消息,服务端负责接收和转发消息客户端代码:#include <sys/types.h>#include <sys/socket.h>#include <stdio.h>#include <netinet/in.h>#include <arpa/inet.h>#in

2022-03-19 13:51:22 9013 2

原创 C++入门教程(17)MD5加密以及数据校验

MD5的应用很广泛,可以用于记录文件的md5值以用于检测更新,记录玩家的账号密码等等。由于它的不可逆性,还可以用于校验数据签名,以验证数据的合法性某上线应用程序发现有玩家的货币增长异常,经过后台日志发现,玩家某一时刻充值后,并没有立即请求,而是修改了发送的充值金额,由于订单合法,服务器认为是正常的订单,就放过了,但是实际充值的钱和商品的数量是不匹配的,导致玩家刷走了好多货币。为了防止玩家继续刷币,需要验证发送请求的合法性,增加了一步验证签名的过程验证过程:1)服务器下发一串用于签

2022-03-17 17:10:08 1731

原创 C++入门教程(16)Vector容器以及自定义排序

vector是C++封装的一个类模板,可以存放任意类型数据的一种容器从定义上可以看出其实vector是一个类模板template <class _Tp, class _Allocator /* = allocator<_Tp> */>class _LIBCPP_TEMPLATE_VIS vector : private __vector_base<_Tp, _Allocator>{ ...}刚开始接触类模板可能不是很理解,但是顾名思义,

2022-03-16 11:19:49 4654

原创 C++入门教程(15)虚析构函数、内存泄漏(virtual,Leak)

虚析构函数可以保证子类析构函数的调用,这样做有什么好处呢?其实这样可以防止内存泄漏。我们接下来看一下实例,假如有如下需求定义一个动物类,动物会叫声明一个Say()函数,子类去各自实现这个Say()表示各种不同的动物的叫声。我们定义两个动物的子类,狗Dog和猫Cat,为了方便查看析构函数是否调用,我们在子类和父类的构造函数和析构函数中都分别输出一段文字。首先来看错误的写法:class Animal {public: int id; public: ...

2022-03-15 16:02:13 1664

原创 C++入门教程(14)运算符重载(operator+)

运算符重载赋予了自定义的类可以进行运算符操作的能力,比如自己定义了一个Positon 的坐标类,希望可以通过加减来得到新的坐标,就可以通过运算符重载来实现其实就是实现一个 operator+函数,这个函数以operator开头,接上一个运算符,运算符重载可以提高代码的可读性,如果不使用也可通过其他函数实现,完全可以达到相同的效果。#include <iostream>using namespace std;class Position{ pu

2022-03-14 22:18:15 2993

原创 C++入门教程(13)平衡二叉树

说来惭愧,数据结构学了10年了,直到今天才弄明白这个平衡二叉树的代码实现(之前只是知道原理,现在也可以自己造轮子用C++实现了)。平衡二叉树其实就是二叉树,它是二叉树的一种特殊结构,主要是为了提高查找效率假如有1023个节点,那么最多只需要10次就能找到目标节点。转换成平衡二叉树的左旋和右旋的实现,其实就是为了使树平衡,将这棵树做最少的改动。并且前提条件是插入节点之前,这颗树是平衡的,所以只有4种情况会导致树的不平衡1)依次插入3,2,1需要右旋2)依次插入1,2,3 需要左..

2022-03-14 16:12:59 2184

原创 C++入门教程(12)快速排序(二叉树)

快速排序的思路比较有趣,1)首先找到一个值,以这个值为基准,将所有比这个数小的数都放在这个值的左边,将所有比这个值大的数都放在这个值的右边2)记下来将找出来左边的和右边的值都按照这个方法排序3)直到每个排序的数组都只剩下两个或一个数字,即可完成比较在实现的过程也是比较有意思,基数比较容易找,可以默认以当前数组的第一位为基数,那么怎么用程序去实现把比基数大和比基数小的两组数区分开来呢?区分开来后我们将得到一个这样的结构...

2022-03-10 21:21:43 2008 1

原创 C++入门教程(11)插入排序(单向链表)

插入排序类似玩扑克牌的时候,一张一张按照从大到小,或者从小到大的顺序插入例如某个玩家一次摸到的牌是 4,J,6,K,Q插入的顺序为以从小到大为例1)第一张牌没有牌与其比较拿在手里就好,此时为42)第二张牌J,找一找有没有手里面的哪张牌比J大,没有,就把J放到最后面,此时为4,J3)第三张牌6,找一找有没有手里面的哪张牌比6大,找到了一张J比6大,所以将6放到J的位置,J和J后面所有的牌就都排在后面了,此时为4,6,J...

2022-03-09 21:25:46 1456

原创 C++入门教程(10)冒泡排序(for)

排序是软件开发中最常见的算法问题了,给出一组数据,按照要求对其进行排序,或是从小到大,或是从大到小。今天我们就用C++来实现冒泡排序的过程。实现原理假设以从大到小的排序方式为例,假设共有N个数(A1......An):1)依次比较数组中第一个值和后面的所有值,如果第一个数字小于后面的数字,交换两个数字,这样经过N-1次比较后 得到一个最的值在数组的最前面2)接下来只需要将后面N-1个数排列即可,用第二个数和后面所有数比较,如果第二个数小于后面的数字,就进行交换,得到第二大的数字在第二位3

2022-03-08 23:14:31 1506

原创 C++入门教程(9)数组 (int[],数组越界)

在软件开发的过程中,经常会有一组数字一起出现的情况,比如在游戏中的一副扑克排,一个本月的最高分排行榜,一个商品的价格列表等等,这些数组的长度一般都是固定的,这个时候在程序中往往用数组来表示。例如,学校里进行了一次月考,有数学,语文,英语三门。我们实现一个学生类。用于表示每个学生的成绩状况class Student{public: string name; int scores[3]; //数学,语文,英语 int historyHigh[3]; //历史最高成绩};

2022-03-07 22:54:31 3315

原创 C++入门教程(8)类的私有成员 (private)

上节我们定义了一个Person类,这一届我们继续深入学习类过年了,假设小明的爸爸和妈妈分别给了小明和小红每人100元的压岁钱,我们用程序来实现这个压岁钱的属性。给Person类定义一个新的成员 moneyclass Person{ public: //布尔类型 bool isBoy ; //整形 int age; //浮点型 float height; //字符型 string name ; //压岁钱

2022-03-06 17:42:59 8240 3

原创 C++入门教程(7)你知道类么(class)

小明:你知道类么?小红:我当然知道累啊小明:那你说什么是类?小红:做久了就会累啊。小明:呃。。。对言归正传,那么上一节我们用一些类型定义了小明的一些身高年龄等属性,那么如果小明的好朋友小红也要定义她的属性,该怎么办呢,其实是可以定义另一个变量比如 ageXiaoHong用来表示小红的年龄,可是这样做会有一个问题,假设我们一个班级有30个同学,那么这30个同学的年龄就需要30个变量来定义ageXiaoMing,ageXiaoHong,ageXiaoGang,.....

2022-03-03 22:43:14 425

原创 C++入门教程(6)常用数据类型(bool,int,float,string)

在软件开发过程中,有几种非常常用的数据类型,几乎是一定会用到的,那就是布尔,整形,浮点型,还有字符型,这几种最为常见,基本上没中编程语言都会用到布尔类型:bool,一般可以定义两种状态的属性,比如性别 整形:int,定义没有小数的属性,通常定义个数,或者年龄等浮点型:float,定义有小数部分的属性,例如身高,价格等 字符型:string,定义一个字符,多用于昵称,标签,说明等#include <...

2022-03-03 21:54:09 1577

原创 C++入门教程(5)文件操作 (ofstream,ifstream)

每个人在使用应用的过程中都会产生一些数据,这些数据有时候需要保存起来,比如上一节的猜数字游戏,我们想记录最少次数猜中的玩家,每次在游戏开始前先展示。这时候就需要保存这个数据,正常的游戏需要保存到数据库里面,我们暂时还没有学习数据库的相关知识,就先保存在一个文件里面,所以这一节我们学习文件操作#include <iostream>#include <fstream> //引入文件操作的系统库#include <time.h>using na...

2022-03-03 20:26:52 4039

原创 C++入门教程(4)猜数字游戏(rand)

上节说到一个猜数字的游戏,我们首先分析下这个小游戏的流程1.首先系统产生一个需要猜的数字N(1<N<100)2.输入一个数字,系统给出是大了还是小了,进一步判断数字的范围3.重复输入数字,直到猜中数字#include <iostream>using namespace std;int main(int argc, const char * argv[]) { // insert code here... //std::cout <<

2022-03-01 22:29:36 5237

原创 C++入门教程(3)条件判断(if和else)

上回学习了用户可以随意输入内容让计算机输出,本节我们学习如何判断输入的内容是否正确,简单视线一个账号密码验证的小程序,假设密码是123456789,判断输入是否正确#include <iostream>using namespace std;int main(int argc, const char * argv[]) { // insert code here... //std::cout << "Hello, World!\n"; ...

2022-02-28 21:15:23 5914

原创 C++入门教程(2)让计算机跟我读(cin,cout,while)

书接上回,通过print("str");可以让计算机输出我们想让计算机输出的字符串,但是每次都要修改传入的str字符串,而且每次都是固定的字符串,有些呆板。现在我们稍微提高下难度,让计算机实现我们输入什么,计算机就输出什么。直接上代码#include <iostream>using namespace std;int main(int argc, const char * argv[]) { // insert code here... /...

2022-02-27 20:13:19 425

原创 C++入门教程(1) 一切从Hello,World开始说起(cout)

前言Hello,Wolrd 是C语言的第一个演示程序,运行后可以在控制台输出“Hello World”这行字符串。一般来说,学习任何编程语言都会先从Hello Wolrd程序开始入手,无论用哪种编程语言,如果你可以让计算机任意的输出一段文字,则表示你可以通过一门编程语言来和计算机进行交互。即你掌握了和计算机交谈的方法。Mac环境用Xcode运行Hello World程序在Xcode中File->New->Project->macOS-...

2022-02-26 16:08:59 828

原创 风(结婚五周年,一直爱你)

风轻轻吹了吹阳台上的窗帘,是我在远方突然想你了,为什么又立刻停了下来?哦,那是因为怕扰了你午睡的好梦。美丽可爱的人呦,如果你听到窗外的鸟叫,仔细听,那是你爱的人给你捎去的情话愿在每个我想你的时刻,你正好也在想我。愿你在每个想起我的时候,正好看到我送你美丽盛开的花朵。...

2022-02-26 11:32:16 120

原创

这世上所有思念,都不及我对你的万分之一,我想把我对你的爱,融到你的身体里,直到山平水尽万物萧稀

2019-07-24 17:04:09 175

转载 不允许拷贝构造函数传值参数,而必须是传引用或者常量引用

不允许拷贝构造函数传值参数,而必须是传引用或者常量引用class A{private: int value;public: A(int n) { value = n; }//A(A other) 此处这样写会编译报错//A(A &a) //直接传一个引用过来也是可以的 A(const A &other)//必须是传引用或者常量引用 { value =

2016-08-20 12:47:00 712

原创 子类构造和析构被执行时是否调用父类以及调用顺序

子类构造和析构被执行时是否调用父类以及调用顺序子类被构造的时候回先调用父类的构造函数子类析构的 时候先析构子类后析构父类如果直接用子类构造一个父类的对象,删除这个父类的对象不会调用子类的析构函数(父类的析构函数为虚函数除外)示例代码://A是一个父类 , 析构函数不是虚函数class A{public: A() {

2016-08-20 12:36:49 5402 1

原创 局部静态变量和全局静态变量的区别

局部静态变量和全局静态变量的区别// Mianshiti.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std;static int global1;void test1(){ static int num = 0; //静态局部变量 ///只能初始化一次 ,

2016-08-11 11:57:35 594

原创 鲜花上有想你的芬芳

鲜花上有想你的芬芳希望你永远都年轻漂亮就像这美丽的花儿一样虽然此刻我不在你身旁鲜花上有我想你的芬芳-----------果冻2016年3月8日赠爱妻

2016-03-12 18:20:51 399

liblamemp3.so

liblamemp3的32位64位等so下载 arm64-v8a/liblamemp3.so armeabi/liblamemp3.so armeabi-v7a/liblamemp3.so mips/liblamemp3.so mips64/liblamemp3.so x86/liblamemp3.so x86_64/liblamemp3.so

2022-04-18

空空如也

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

TA关注的人

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