自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 ++a与a++效率问题

a=a+1,是先取a的值,再进行加加操作,它等同于a++。a+=1,是先对a进行加1操作,在返回a的值,它等同于++a。另外a++ 直接对内存中的值进行加1,并将结果写入内存,更效率。a=a+1 先申请一块内存空间,分别把变量a 和常量1 放入累加器中计算,再把计算结果放到内存中。最后,这三类指令在编译成汇编指令的时候也会有一定的差异,导致运行效率的变化。...

2020-07-20 19:58:18 19

原创 把单一元素的数组放在一个struct的尾端,则每个struct objects就拥有了可变大小的数组

标题是《深度探索C++对象模型》(《Inside The C++ Object Model》)中的一句话,其中给出的例子如下:strcutmumble{charpc[1];};strcutmumble*pmumbl=(structmumble*)malloc(sizeof(structmumble)+strlen(str...

2019-06-04 21:06:22 284

原创 汇编 eax寄存器和AX,AH,AL之间的关系

EAX与AX不是独立的,EAX是32位的寄存器,而AX是EAX的低16位。举例来说mov eax, 12345678h那么AX将会是eax的低16位,也就是5678h。而如果此时mov ax,3344h那么eax的值将变为12343344h,所以对ax的赋值是会影响eax的。同样,AH是ax的高8位,而AL是ax的低8位,这就是说ah为33h,al为44h。...

2019-03-26 10:41:49 8088

原创 Lua table的remove和nil操作的区别

我在看《Lua程序设计(第二版)》的时候,这本书不是看了不止一遍了,每次看都有新发现。 今天看到这么一句话:Lua中的table可以像全局变量一样,将nil赋予table的某个元素来删除该元素。了解Lua的都知道Lua的table还有个table.remove方法来删除table中的制定元素,对于这两种删除table元素的方法,我每次总搞混删除后table究竟变成了什么样子,为了以后再忘记,今天就

2017-07-22 15:32:39 3350

原创 lua--对字符串中的特殊字符进行转义

str = "金乌照(1级)"str2 = "金乌照(1级)"str3 = "赤灵刀"str2 = string.gsub(str2, "[&=+%%%c%(%)]", function(c) return "%"..cend)print(str2)str = string.gsub(str, str2, str3)print(str)输出结果:

2017-05-06 16:43:24 2715

转载 unity3d鼠标滚轮实现摄像头拉近后退

using UnityEngine;using System.Collections;public class CubeStatic : MonoBehaviour{ public float minFov = 15f; public float maxFov = 90f; public float sensitivity = 10f; void Update(

2017-04-21 10:07:30 3490

原创 Lua 的require

在工作中碰到类似这样一种情况:local x = ...x变量不在函数中,这样的用法还是第一次见,所以自己敲了一个类似的例子,做个小标记。例子如下:--LuaTest.luaLuaTest = {}function LuaTest.DeclareFunc (moduleName) print("DeclareFunc output is ", moduleName)enddo l

2017-04-14 12:57:00 479

原创 Lua使用动态链接库调用C模块(VS2015)

创建一个win32项目,起名mylib(因为我已经创建过mylib了,所以这里用的mylib2)。 下面开始编写C模块:mylib.h如下:/*mylib.h*/#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <string>#include <dirent.h>#include <errno.h>extern "C"

2017-04-06 17:00:35 3826 1

原创 unity-UGUI隐藏按钮

方法1:Button btn;btn.gameObject.setActive(false);方法2:Button btn;btn.transform.localScale = Vector3.zero;

2017-03-21 12:44:13 8346 1

原创 unity-实现摄像机跟随物体(Vector3.SmoothDamp)

直接贴代码using UnityEngine;using System.Collections;public class FllowTarget : MonoBehaviour { public Transform target; //摄像机要跟随的人物 public float smoothTime = 0.01f; //摄像机平滑移动的时间 private Vector3 came

2017-03-16 10:01:02 5226

原创 JS基础语法之变量

1、var x = 1;x = 1; 这里两种变量声明并赋值的方式有所不同,主要体现在delete命令无法删除前者2、var x = 1;var x;document.write(x);第二次对x的重复声明无效,x值仍然为1.var x = 1;var x = "hello world";document.write(x);但若第二次声明并重新赋值,则第二次赋值会覆盖第一次赋值,此时

2016-12-01 15:46:34 266

转载 selenium webdriver定位iframe里的body方法

1.iFrame有ID 或者 name的情况 //进入id=”frame1”的frame中,定位id=”div1”的div和id=”input1”的输入框。 dr.switchTo().frame(“frame1”); dr.findElement(By.id(“div1”)); dr.findElement(By.id(“input1”))2.如果一个iFrame既没有id,也没有name

2016-11-15 09:12:39 3743

转载 【转】StringUtils的isBlank与isEmply

public static boolean isEmpty(String str)   判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0  下面是 StringUtils 判断是否为空的示例:   StringUtils.isEmpty(null) = true  StringUtils.isEmpty(“”) = true  StringUtils.isE

2016-10-18 11:38:01 196

原创 JSP中application与全局变量的区别

书上常常会说JSP的内置对象application就起到“全局变量”的作用,那么application与全局变量有什么区别呢?主要就是生命周期的区别application在服务器启动后生成,服务器关闭后销毁; 全局变量则只对当前page有效。这也就是网站的计数器用到application而不用全局变量的原因。

2016-09-27 16:20:08 749

原创 JSP之include指令与include动作的区别

自己懒得敲,直接粘张图片上来

2016-09-17 09:22:12 203

原创 java中的字符流

首先说明一下文本,文件与文本文件的三者的区别与关系1、文本(char)是16位无符号整数,是字符的unicode编码2、文件是byte,byte,byte…的数据序列3、文本文件是文件(char)按照某种编码的方式(utf-8,utf-16be,gbk)序列化为byte的存出结果字符的处理就是一次处理一个字符java中字符流的基本实现:InputStreamReader 完成byte流解析为ch

2016-08-21 16:24:22 225

原创 文件的编码方式

1、GBK编码java的默认编码方式是GBK编码方式,一个中文对应2个字节,一个英文占一个字节2、utf-8utf-8的编码方式中,一个中文对应三个字节,一个英文占一个字节3、utf-16beutf-16be编码方式是java的编码方式,不管是中文还是英文都占两个字节4、ansi编码ansi主要用在中文电脑的文本自带的编码方式,比如txt文本中只有ansi编码方式才能正确显示中文这里写个关于java

2016-08-20 17:41:03 219

原创 自己写的一个扑克牌比较点数的小游戏

//Poker.javapackage com.skyL;public class Poker implements Comparable<Poker>{ private String flowerColor; private String Point; public Poker(String flowerColor, String Point){ this.f

2016-08-20 14:33:41 1112

转载 【转】Fiddler对安卓应用手机抓包图文教程

直接上链接: http://www.cr173.com/html/37625_1.html

2016-08-19 10:23:41 324

原创 利用java的异常处理自己写个一个图书借阅系统的小案例

//Book.javapackage com.skyL;public class Book { private int id; private String name; public Book(int id, String name){ this.id = id; this.name = name; } public int

2016-08-19 10:09:50 555

转载 【转】java try、catch、finally及finally执行顺序详解

1.为什么要用finally 先看一个没有finally的异常处理try-catch语句: 假设count为要使用到的资源,并且用完要求释放此资源。那么我们可以把释放资源的语句放到try-catch后执行,当前的程序不管是在执行完try语句块还是catch语句块,都会顺序执行到下面释放资源的语句。int count = 0; //初始化资源try{ count++; if(count

2016-08-18 13:24:06 238

原创 格式化操纵算子

详细内容看《C++编程思想》 按照书里面的代码敲得,这里只说明一点:T.setf(0, ios::floatfield);第一个参数为0,对于这句automatic的格式化,是精度域指整个有效数字的数目, 而ios::scientific和ios::fixed的精度域都是指小数点后面的数字数目,这点注意区分,当第一个参数为0,即automatic情况下,若精度域小于所给变量的精度,则会自动变成科学

2016-08-17 10:21:05 293

原创 使用VMware Workstation Pro 12虚拟机安装Mac教程

三个当时安装mac时用到的网址: https://www.rkdot.com/install-mac-osx-with-vmware-workstation-pro-12/http://jingyan.baidu.com/article/bea41d4388a8c4b4c51be6ab.htmlhttps://xuanwo.org/2015/08/09/vmware-mac-os-x-intro/

2016-08-16 13:14:34 657

原创 宏定义

宏定义不管在C还是C++中都经常用到,其用法是个比较神奇的东西,宏定义不表示任何类型,同样也表示任何类型,这也是宏定义的一个优点,宏函数类似C++的函数重载,可以用于任何类型,但不进行类型检查,宏定义实际代表的就是一个字符串,比如下面这段代码#include<iostream>using namespace std;#define M int main(M) { cout << "hello

2016-08-15 09:34:09 194

原创 非修改性序列之lexicographical_compare

lexicographical_compare函数是用来比较两个容器的大小,包括元素和个数,他的原则是这样的:1、一次比较两个容器中的元素,若遇到第一个不同的元素,则根据元素的大小决定容器的大小2、当两个容器元素都相同,个数不同时,若第一个容器个数小于第二个容器的元素个数,则第一个容器小于第二个容器3、元素个数与元素都相等时,两个容器相等,函数返回false只有当第一个容器小于第二个容器时,lexi

2016-08-14 19:59:30 637

原创 非修改性序列算法之mismatch

mismath是比较两个容器元素的不同的一个函数,会找到第一个不同的元素,函数形式有两种:第一种:template<class _InIt1, class _InIt2> inline pair<_InIt1, _InIt2> mismatch(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2)第二种:

2016-08-14 19:10:38 175

原创 非修改性序列算法之min_element和max_element

min_element是求容器中的最小值,有两种函数重载:第一种,单纯的比较大小:template<class _FwdIt> inline _FwdIt min_element(_FwdIt _First, _FwdIt _Last)第二种,按照函数要求比较大小,可以是普通的比较函数,也可以是仿函数:template<class _FwdIt, class _Pr> inline

2016-08-14 18:14:49 1891

原创 非修改性序列算法之count和count_if

count主要用来统计容器内元素个数,其格式有两种:第一种,第三个参数为元素值template<class _InIt, class _Ty> inline typename iterator_traits<_InIt>::difference_type count(_InIt _First, _InIt _Last, const _Ty& _Val)第二种,第三个参

2016-08-14 17:37:42 345

原创 非修改性序列算法之for_each

for_each是algorithm头文件包含的stl算法之一。一、for_each的使用#include<iostream>#include<vector>#include<algorithm>using namespace std;template<typename T>int pushNum(T &vec, int first, int last) { int ret = 0;

2016-08-14 11:10:42 185

原创 自动类型转换

我们都知道多数编程语言都有类型自动转换的功能,那到底那些类型之间可以自动转换呢,一般主要遵循两点: 1、目标类型与源类型兼容,比如double和int之间2、目标类型大于源类型,比如double占8字节,int占4字节,那么当把一个int类型赋给一个double类型的变量时,int可以自动转换成double类型在java中类型比C++更严格,java不能从double类型自动转换成int,但C++

2016-08-10 15:36:58 229

原创 java环境变量详解---找不到或无法加载主类

默认安装在C:\ProgramFiles\Java\jdk1.8.0_101目录下 环境变量配置为 PATH=.;%JAVA_HOME%\bin CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar; JAVA_HOME=C:\Program Files\Java\jdk1.8.0_101注意CLASSPATH和PATH前的“

2016-08-10 11:55:29 419

原创 GNU Parallel神器入门

今天学习GNU Parallel神器的入门,推荐一个讲的比较详细的博客:http://my.oschina.net/enyo/blog/271612#OSC_h1_1重点是先安装上:(wget -O - pi.dk/3 || curl pi.dk/3/) | bash输入这条语句就OK了。

2016-08-09 17:29:18 1706

原创 指针的引用遇到的内存释放问题

先来一段程序:#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<string.h>using namespace std;int getMem(char* &p) { int ret = 0; if (&p == NULL) { cout << "func getMem &p == NULL err

2016-08-08 10:42:24 1467

原创 当函数重载遇上函数指针

#include<iostream>#include<string>using namespace std;void func() { cout << "void func()" << endl;}void func(int a) { cout << "void func(int a)" << endl;}void func(int a, int b) { cout <

2016-08-08 09:41:18 1006

转载 D3DPRESENT_PARAMETERS参数之D3DSWAPEFFECT

copy:只能为构成单个后台缓冲区的交换链指定此交换效果。 无论交换链是有窗口的还是全屏的,运行库都保证 Device 的基于复制的 Present 操作所暗示的语义;具体来说,该操作使后台缓冲区的内容保持不变,而不是像基于翻转的 Present操作那样用前台缓冲区的内容来取代后台缓冲区的内容。对于有窗口交换链,Present 操作使后台缓冲区内容被直接复制到目标窗口的工作区。由于没有尝试使复制

2016-08-06 19:45:29 1371

原创 主调函数分配内存的两次调用

主调函数中的指针所指向的内存空间可以在当前函数中直接分配,也可以在被调函数中分配,同样可以二次调用被调函数,第一次让被调函数返回一个内存空间的大小,然后在主调函数中根据被调函数返回的空间大小分配内存,第二次调用往主调函数分配的内存空间中写入数据。这也是项目开发过程中会用到的一种内存分配方式,所以在这里说明一下:#define _CRT_SECURE_NO_WARNINGS#include<stdi

2016-08-01 10:37:29 753

原创 哈希表的大小为什么最好是素数

在看数据结构和算法分析这本书的时候,哈希表建议大小为素数,但里面并没有详细说明为什么,只说了因为它在哈希表最小化集群,这又是为什么,我通过百度,外加自己的理解说明一下为什么哈希表的大小最好为素数,感觉并没有很大的答案,只能说略作总结。这里贴上一篇比较好的帖子https://segmentfault.com/q/1010000000593741我也是总结了这篇帖子的主要内容。首先在说明为什么哈希表的大

2016-08-01 09:56:16 8612 4

原创 正则表达式

1、删除两个字符之间的所有内容(?is)(?<=]).*?(?=\n)这句意思就是删除符号‘]’和’\n’之间的所有字符2、删除一个 符号的后面的所有字符a^*13删除所有a后面的所有字符,包括换行符,word形式下用13,有的用p,下面这种形式a^*p使用到别的再补充……

2016-07-30 10:47:25 318

转载 【转】Windows安装Python图像处理库:PIL模块

平常一般都在Linux下用Python,今天女票突然说让帮忙把一些图片全部弄成一个分辨率的,作为程序员,这种重复的工作还是交给计算机吧。废话不多说,打开Cmd看下Windows的python下面是否有PIL(python imaging library)这个库,很不辛,木有。于是到 PIL官网 下载一个,python imaging library 1.1.7 for Python 2.7 (win

2016-07-29 10:57:59 354

转载 【转】WIN32编程中的HRESULT类型和LRESULT类型的区别

LRESULT :WIN32环境下Windows进程或者回调函数的返回值 HRESULT :COM函数和方法的返回值 其实都是32位的无符号长整型值,只不过其分别代表的含义不同c++中的函数前面加个LRESULT是什么意思啊?在微软vc提供的头文件中有定义 在winnt.h中typedef long LONG; 在windef.h中typedef LONG LRESULT; 所以LRES

2016-07-28 09:56:57 2620

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