04 2022 档案
摘要:只能在堆上分配 class A { public: A() {} void destory() { delete this; } private: ~A() {} }; 编译器在为类对象分配栈空间时,会先检查类的析构函数的访问性,其实不光是析构函数,只要是非静态的函数,编译器都会进行检查。 若是类的
阅读全文
摘要:重载 overload 定义:函数名相同,函数的参数个数、参数类型或参数顺序三者中必须至少有一种不同。调用时,编译器能够判断在哪种情况下调用哪种方法。 阶段:编译时。 目的:把函数本身作为一个概念抽象出来,基于不同形参给出不同实现以实现多态,实现静多态的一种技术。 重写/覆盖 override 定义
阅读全文
摘要://order_list.h #pragma once #include <list> #include <initializer_list> using namespace std; template <typename T> class order_list :public list<T> {
阅读全文
摘要:定点数数学库fpm(fixed-point math) github:https://github.com/MikeLankamp/fpm 仅包含头文件的实现,需要C++11或以上。 https://github.com/TxtpGame/fpm/blob/master/docs/index.md
阅读全文
摘要:反作弊方案 原则 休闲类游戏,不需要太高的实时性,不做实时校验,做事后校验。 允许玩家作弊,作弊也是一种游戏体验。 思路 尽可能缩短从开挂到封号的时间差。 尽可能减小开挂修改数据后的影响范围。 尽可能降低玩家举报后的处理时长。 降低误报率。可以接受漏报,但不能误报。 需要做什么 记录玩家在app中的
阅读全文
摘要:定义 设计一个空对象取代NULL对象实例的检查。NULL对象不是检查控制,而是反映一个不做任何动作的关系。 这样的NULL对象也可以在数据不可用的时候提供默认的行为,属于行为型设计模式。 组成 抽象对象(AbstractObject):定义所有子类公有的行为和属性。 真实对象(RealObject)
阅读全文
摘要:xargs xargs命令需要结合管道符|使用,其格式为:**** | xargs command # find ./ -type f | xargs echo ./main.cpp ./a.out ./test_backtrace.exe xargs是把所有找到的文件名一股脑的转给命令。 当文件很
阅读全文
摘要:accept发现返回是0,是否有问题? accept函数,错误会返回-1,正确会返回>=0。 标准输出关闭后, 所以accept返回为0, 0可以作为正常的套接字使用, 网络连接信息正常。 0-标准输入,1-标准输出,2-标准错误。默认从3开始。 可以使用close(0),之后accept就会返回0
阅读全文
摘要:pstack 命令可以打印出进程的线程堆栈信息:pstack 进程ID 想要查看具体某个线程的调用情况,获取到线程ID:pstack 线程ID 输出结果: 在排查进程问题时非常有用,比如我们发现一个服务一直处于work状态(如假死状态,好似死循环),使用这个命令就能轻松定位问题所在;可以在一段时间内
阅读全文
摘要:lsof 用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。 系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。 iostat iostat命令被用于监视系统输入输出设备和CPU的使用情况。它
阅读全文
摘要:vector下标访问有两种情况: []运算符 at函数 []运算符 不会进行边界检查。 不同于 stdmapoperator ,此运算符不插入新元素到容器。 通过此运算符访问不存在的元素是未定义行为。 at函数 访问指定的元素,同时进行越界检查。 若 !(pos < size()) 则抛出 std:
阅读全文
摘要:协程 历史上协程这个概念的出现要早于线程 协作式多任务与抢夺式多任务 进程与线程 一个标准的线程由线程ID,当前指令指针PC,寄存器和堆栈组成。 进程由内存空间(代码,数据,进程空间,打开的文件)和一个或多个线程组成。 进程持有资源,一旦退出,进程申请的各种资源都会被OS强制回收。 而线程依附于进程
阅读全文
摘要:执行lua时报错:too many C levels (limit is 200) in function at line 5 near 出现这个错误,表示lua文件出现了循环调用。即循环require。 A require B B require A 解决方法: 找出循环引用,然后把B合入A中,消
阅读全文
摘要:svn log展示的日志是统计信息一行注释另一行,不是很方便处理 首先需要将日志记录只显示一行 vi ~/.bashrc,增加以下代码,source ~/.bashrc svnlog(){ svn log "$@" | awk -f <(cat <<EOF #!/usr/bin/awk -f # C
阅读全文
摘要:复盘报告:lua的pbc绑定,表中的对象修改后没有生效 问题 项目中lua使用的pbc做数据绑定,遇到一个问题,发现修改表中的对象后,值没有生效,仍然为原值。 经过一番查询发现也有人遇到了这个问题:https://blog.codingnow.com/2012/04/pbc_improved.htm
阅读全文