代码
PeterNote
这个作者很懒,什么都没留下…
展开
-
备份日志图片命令
把日志图片复制到日志目录下。原创 2023-11-01 12:17:28 · 97 阅读 · 0 评论 -
C++模板使用typename关键字
C++模板使用typename关键字,少使用class关键字。原创 2022-10-21 10:16:52 · 199 阅读 · 0 评论 -
模板的声明和实现应该都放在头文件里
模板不支持分离编译,模板的声明和实现应该都放在.h头文件里。原创 2022-10-21 09:32:11 · 371 阅读 · 0 评论 -
VS下的断言
断言用crtdbg.h的_ASSERT()。原创 2022-09-25 10:36:58 · 449 阅读 · 0 评论 -
多态用重载解决
函数模板的重载,和类模板的重载,解决多态。原创 2022-09-22 19:59:26 · 255 阅读 · 0 评论 -
命名加“1”上档次
我纠结了很久(超过半年),不过最近我又在考虑这个纠结的问题,,,更早的时候,我基本没想过这个问题,大脑一片空白那种~,,,:“函数命名时,是应该命名为:Function()还是命名为:Function1()哪种命名法更好呢?”也就是:“命名时,不添加数字,直接使用英文?还是使用英文,后面添加表示‘此类第一个’的数字‘1’,哪种更好?”只使用英文的命名法,好处是:简洁看起来“上档次”,,,相信我,程序员对好的命名,会本能地尊敬,我甚至说不出来“为什么会这样?”~坏处是:一旦需求发生变原创 2022-05-15 18:43:42 · 116 阅读 · 0 评论 -
不要使用wstring
不要使用wstring,尽量使用string。因为,转换字符串会带来不必要的麻烦。不过,对于已经设定了字符集(不能改的情况),只能翻阅各种wstring的说明手册和帖子了~工程属性(Properties)中,默认都是使用Unicode字符集:Character Set: Use Unicode Character SetUse Multi-Byte Character Set,多字节字符集,据说已经建议不要使用了。同样,对于已经设定了字符集(不能改的情况),只能继续翻阅各种wstring的说原创 2021-08-04 15:36:05 · 447 阅读 · 0 评论 -
计算数组长度小结
结论:C++,计算数组长度使用std::size。C,使用:int sizeByHandWork = sizeof(arr) / sizeof(arr[0]);笔记:a.sizeof在不同的编译器之间,C与C++之间,都可能会不同~b.问题:sizeof(Type),这里Type如果是函数的参数,怎么写?回答:sizeof是运算符,由编译器实现。int,long的长度本来是希望简化底层(不关心字节数,在乎long比int长,即可),但是,有时还是需要关心具体的字节数,不能不关心字节数原创 2021-07-19 16:11:03 · 319 阅读 · 0 评论 -
C++ Raw String用法小结
C++ Raw String是C++ 11提供的原始(未加工)的字符串的用法。语法:std::string s1 = R"NOT_PRINT_FLAG(String content)NOT_PRINT_FLAG";说明(这里“打印”也可能是“使用”):\n(转义字符)会被打印出来。在‘(’和‘)’符号之外的部分不会被打印出来。两头的NOT_PRINT_FLAG需要一致。可以不写NOT_PRINT_FLAG。在‘)’符号之后不能使用\n(转义字符),否则会有编译错误。使用场景:C++原创 2021-03-19 15:11:49 · 4384 阅读 · 0 评论 -
文件编码格式的转换之GB2312转UTF-8 Without BOM之使用iconv
在前一篇文章中《文件编码格式的转换之GB2312转UTF-8 Without BOM》:https://blog.csdn.net/cpdoor2163_com/article/details/112260222提到了几种GB2312转UTF-8的方法,这里还可以使用iconv完成GB2312转UTF-8的任务:“iconv命令可以将一种已知的字符集文件转换成另一种已知的字符集文件。”两句题外话:WPS中,如果写入过中文,存储的表格csv文件就是GB2312编码格式的。WPS里不能存储为UTF-原创 2021-01-07 14:43:39 · 967 阅读 · 0 评论 -
文件编码格式的转换之GB2312转UTF-8 Without BOM
中文区最常使用的两种文件编码格式:Chinese Simplified(GB2312) - Codepage 936Unicode(UTF-8 without signature) - Codepage 65001也就是中文文件编码格式和国际通用文件编码格式(Unicode使用UTF-8方式实现的文件编码格式)。我们都知道,非常不幸的,GB2312与UTF-8互相不通用,在不知道文件编码格式的情况下,使用特定编码格式打开另一种编码格式的文件,基本上只能看到乱码。为什么有的时候看到的不是乱码?在原创 2021-01-06 11:24:50 · 8628 阅读 · 1 评论 -
批处理将时间字符串输出到Windows剪贴板
1.获得当前时间字符串,GetCurrentTimeStringCommand.bat,脚本内容::: Set current time string to Global value, other batch file can use it.set currentDateYear=%date:~0,4%set currentDateMonth=%date:~5,2%set currentDateDay=%date:~8,2% set timeTemp=%time: =0%set curr原创 2020-12-27 13:39:47 · 232 阅读 · 0 评论 -
备份日志图片的方法
1.通过CopyAndBackupFileCommand.bat脚本,把日志图片备份(复制)到指定日志目录下,并在日志图片文件名称后加上当前日期时间字符串,方便按时间查看日志图片,脚本内容::: For copy and backup file, set source file path, target folder and target file name and suffix name.set sourceFilePath=C:\Users\peterpchen\Pictures\Pictur原创 2020-12-16 15:45:54 · 194 阅读 · 0 评论 -
TMap小结
是否一定要使用TMap?通常情况下,TArray可以应对90%的情况。如果需要频繁查找,并且是在大量数据中(超过100个,其实我想说10000个),才考虑使用TMap。基本上,只有一种情况可能会使用数组:常量数组例如:FString strVec[2] = {"aa", bbb"};int32 num = ARRAY_COUNT(strVec); //使用宏ARRAY_COUNT统计数组里的个数其他情况,请考虑使用容器。1.增加:1.1增加新元素FruitMap.Add(5,原创 2020-11-25 16:58:36 · 436 阅读 · 0 评论 -
TArray小结
1.增加:1.1初始化IntArray.Init(10, 5);// IntArray == [10,10,10,10,10]1.2增加新元素TArray<FString> StrArr;StrArr.Emplace(TEXT("World"));2.删除:2.1通过索引删除ValArr.RemoveAt(2)2.2删除最后的元素StrArr.Pop();2.3删除第一个匹配元素ValArr.RemoveSingle(30);2.4清空Sl原创 2020-11-25 11:35:26 · 1300 阅读 · 1 评论 -
【转】如何比较两个浮点数
【转】如何比较两个浮点数https://bot-man-jl.github.io/articles/?post=2020/Comparing-Floating-Point-Numbers比较两个浮点数是否相等并不是一个简单的问题:由于 浮点数的精度误差,一般不能使用绝对相等比较; 基于绝对误差的近似相等比较 要求使用者对 允许的误差范围 有明确的预期,并不通用; 基于相对误差的近似相等比较 看似通用,但又可能会在 0 附近 “栽跟头”。。。本文主要参考了 “浮点数专家...转载 2020-11-12 16:22:28 · 3414 阅读 · 1 评论 -
公历(阳历)转农历(阴历)接口
【转】lua 获取农历https://blog.csdn.net/csdn_xiao/article/details/81744423-- lua code-- https://blog.csdn.net/csdn_xiao/article/details/81744423function getDayOf(st) local YEAR_1921 = 1921 -- 1921 --天干名称 local cTianGan = {"甲","乙","丙","丁","戊","己转载 2020-07-30 12:13:54 · 1523 阅读 · 0 评论 -
Python的三种引号
1.Python的字符串可以使用三种引号进行包围:单引号:'字符串'双引号:"字符串"三引号:"""字符串"""或'''字符串'''2.其中,三引号包含的字符串可由多行组成,一般用在大段的叙述性字符串。3.三种引号在使用时,基本没差别。4.但双引号和三引号中可以包含单引号,三引号可以包含双引号,而不需要转义符。...原创 2020-05-31 05:39:38 · 5627 阅读 · 0 评论 -
打印Lua表(table)顺便扩展库一点
推荐参考1的法一的打印方法,因为“挺符合一般人的心里预期”~顺便写一个math.clamp的实现local print = printlocal tconcat = table.concatlocal tinsert = table.insertlocal srep = string.replocal type = typelocal pairs = pairslocal tostring = tostringlocal next = next function print_lua转载 2020-05-17 10:26:15 · 304 阅读 · 0 评论 -
Undefined symbols for architecture i386或者armv7: “_OBJC_CLASS_$_XXX”
[转]http://blog.sina.com.cn/s/blog_5920503a0100zbda.htmlUndefined symbols for architecture i386:“_OBJC_CLASS_$_XXX”, referenced from:objc-class-ref in XXXld: symbol(s) not found for architectur转载 2020-05-28 05:50:52 · 712 阅读 · 0 评论 -
pyc相关
[转]http://www.cnblogs.com/liang-hk/archive/2012/05/04/2483095.html大部分的python代码是明文的,如果不想让别人看你的代码怎么办网上有很多办法,这里介绍最简单的,python自带的方法将代码编译成pyc格式有两种方式:方法一:写一个程序test.py,这样就把c盘的compute.py程序编译成了pyc格式转载 2012-12-14 16:42:25 · 591 阅读 · 0 评论 -
PYTHON文件第一行编码方式注释在Mac系统和Windows系统中的区别
在Windows系统中使用WingIDE编辑PYTHON文件时,如果PYTHON文件中有中文,需要在PYTHON文件的第一行添加:# -*- coding: gb2312 -*-或#coding=gb2312或# -*- coding: utf-8 -*-或#coding=utf-8但是在Mac系统中,使用WingIDE编辑PYTHON文件时,首先默认是支持中文的,原创 2012-12-11 15:12:39 · 4803 阅读 · 0 评论 -
打宝石的“不努力”方法
看到一个有意思的问题:说,用1个宝石碎片变换出1个宝石的概率是10%,用2个宝石碎片变换出1个宝石的概率是20%,用3个宝石碎片变换出1个宝石的概率是30%,... ...,用9个宝石碎片变换出1个宝石的概率是90%,用10个宝石碎片变换出1个宝石的概率是100%。问,现在用8个宝石碎片,采用下面哪种方案更好?(1)用8个宝石碎片换一次。(2)用8个宝石碎片换8次,即一次只用1原创 2012-08-05 20:43:11 · 463 阅读 · 0 评论 -
Python的UTC时间转换
Python的UTC时间转换,最终得到的都是UTC时间。时间戳(timestamp) 转换-> UTC显示时间(datetime),使用time.gmtime(timestamp)。显示时间(datetime) 转换-> UTC时间戳(timestamp),使用calendar.timegm(datetime.timetuple())。VC下相应的接口gmtime和_mkgmtime。原创 2016-05-06 13:42:33 · 13913 阅读 · 0 评论 -
Sublime3中插入当前时间
Sublime3中插入当前时间设置方法:1.复制:InsertCurrentDateTime.py#InsertCurrentDateTime.pyimport sublimeimport sublime_pluginimport timeversion_format = "%Y-%m-%d_%H_%M_%S" # 2018-06-07_18_33_53class ins...原创 2019-01-09 16:32:48 · 292 阅读 · 0 评论 -
与很多语言不同,在lua中,“if 0”被认为是true。
特别注意:与很多语言不同,在lua中,“if 0”被认为是true。if 0 then print("In lua, 'if 0' is true")else print("'if 0''s else part not run")end if not 0 then print("not run")else print("In lua, 'if not 0' is fals...原创 2019-01-22 18:12:26 · 1928 阅读 · 0 评论 -
在lua中,ipairs和pairs的区别
在lua中,ipairs和pairs的区别:1.ipairs是按(索引从小到大)顺序输出的。pairs是无序输出的。2.ipairs从索引1开始,到索引不是整数为止,其中key为非整数(即key为字符串、浮点数等)会被跳过。pairs会遍历表中所有key。function table_length(t) local leng = 0 for k, v in pairs(t...原创 2019-01-23 15:01:12 · 552 阅读 · 0 评论 -
刷新Unity3D日志文件Editor.log的方法
刷新Unity3D日志文件Editor.log的方法1.创建新日志文件Editor.log,内容为空:C:\Users\user\AppData\Local\Unity\Editor.log2.创建批处理命令文件ReplaceEditor.bat,内容为:replace C:\Users\user\AppData\Local\Unity\Editor.log C:\Users\user...原创 2019-01-29 12:54:57 · 5527 阅读 · 0 评论 -
lua表的点和冒号的区别
lua表中,一个点,句号(.)用来定义和取得一个“变量”。这个变量可能是个函数。lua表中,两个点,冒号(:)用来定义和调用一个“函数”。会自动传入这个“调用者”表的自身(self)。使用冒号时,函数(table:function)是不能作为函数参数,或被单独打印的。---[[function NeedRegistOrRunSampleFunction(aCallbackFunction...原创 2019-02-27 20:41:38 · 815 阅读 · 0 评论 -
PYTHON编码转换小记
# -*- coding: gb2312 -*-# 16进制字符串->10进制数值,8进制字符串->10进制数值,2进制字符串->10进制数值print "16进制字符串->10进制数值,8进制字符串->10进制数值,2进制字符串->10进制数值"print int("61", 16), int("141", 8), int("1100001", 2)# 10进制数值->16进制字符串原创 2012-12-27 17:06:51 · 57801 阅读 · 0 评论 -
DS Racer项目之后
DS Racer项目之后,忽然又想起一些东西:1. 在计算碰撞时,在游戏运行中尽量减少对图形正确性的判断。图形正确性验证的工作在工具中进行。就是说游戏在运行时三角形就是三角形,不会是一条直线上的3个点的“三角形”。当然这样做也只能把效率提高一点点。2.读《3D Math Primer for Graphics and Game Development.pdf》第8页有感,The bot原创 2013-01-19 22:48:06 · 529 阅读 · 0 评论 -
MSDN中SetWindowsHookEx的例子代码
目标:运行SetWindowsHookEx在MSDN(2008)中的例子程序。ms-help://MS.MSDNQTR.v90.en/winui/winui/windowsuserinterface/windowing/hooks/hookreference/hookfunctions/setwindowshookex.htmms-help://MS.MSDNQTR.v90.en/wi原创 2012-12-05 14:31:23 · 15432 阅读 · 1 评论 -
Objective C--单例模式
//========================================================================================// Singleton.h//========================================================================================#im转载 2012-12-05 10:02:48 · 666 阅读 · 0 评论 -
Python + Tkinter画树
[转]http://bbs.csdn.net/topics/320088140# -*- coding: utf-8 -*-import Tkinterimport sys, random, mathclass Point(object): def __init__(self, x, y): self.x = x self.y = y def __str__(sel转载 2012-12-05 13:28:36 · 2117 阅读 · 0 评论 -
PYTHON第一行注释小记
(1)PYTHON文件开始的第一行“#!”,表示执行一些特殊命令,通常“use Python on a Unix, Linux, or Unix-like system”时会用到。例如《Learning Python(3rd Edition)》的“Unix Executable Scripts (#!)”中给出的例子:brian.py文件如下:#!/usr/local/bin/py原创 2012-11-14 15:22:00 · 1441 阅读 · 0 评论 -
全局鼠标钩子
#include #include HHOOK g_hMouse;LRESULTCALLBACK MouseProc(intnCode, WPARAMwParam, LPARAMlParam){ if(nCode >= 0) { PMSLLHOOKSTRUCT pmll = (PMSLLHOOKSTRUCT) lParam;原创 2012-09-26 17:32:54 · 646 阅读 · 0 评论 -
OutputDebugString小例子
不常使用OutputDebugString,记录分享下。//==============================================================================#include #include int main(int argc, char** argv){ LPCWSTR strShow = L"Outp原创 2012-09-13 14:12:07 · 476 阅读 · 0 评论 -
连字符,double pound
逻辑上能解决,多写点代码也是可以理解的。只有不断的学习进步才能把生僻变为不生僻。注意这样的写法://================#define FUNCTION( arg ) Hello##arg##worldtypedef void (*FunctionPoint)( char* parg );FunctionPoint g_FunctionPoint;voi原创 2012-08-05 20:38:50 · 502 阅读 · 0 评论 -
TICK 与 CLOCK CYCLE 的区别
Accurately Profiling Direct3D API Calls (Direct3D 9)(FROM DX HELP)… …BeginScene();… …// Start profilingLARGE_INTEGER start, stop, freq;QueryPerformanceCounter(&start);SetTexture(...);D原创 2012-08-05 20:38:23 · 5445 阅读 · 0 评论 -
某个数字出现的次数
在http://bbs.chinaunix.net/thread-1191740-1-2.html有个网友提问。本人写了个程序,基本可以解决这个问题。题目:写一个函数f(n),能得到0到1234567890之间的任意一个数中出现1的次数例如f(0)=0,f(1)=1,f(12)=5本人把她扩展了一下,她可以查到任意10个数字出现的次数。她可以自定义开始和结束点,原创 2012-08-05 20:36:41 · 557 阅读 · 0 评论