计算机基础
流浪打工人
学习是成长的动力,暂时的落魄并不可怕,可怕的是放弃自己
展开
-
二叉树的创建、递归遍历、非递归遍历
二叉树的创建、递归遍历、非递归遍历原创 2018-09-20 19:03:07 · 307 阅读 · 0 评论 -
多线程编程的难点以及问题
多线程编程的难点 - **数据安全**:同一个对象被多个线程同时操作,这样有可能导致数据的读写错误,所以有些任务是需要保序的。在C++中,为了保证同一阶段任务按序执行,可以使用**boost::asio中的strand**,即ot、rdt、rst等。 - **优先级**:多线程访问同一个对象时,需要考虑线程的不同优先级。转载 2022-11-13 22:56:37 · 513 阅读 · 0 评论 -
异步和多线程,简单说,多线程是实现异步的方法之一
编程中经常遇到的异步和多线程,以及他们的区别与联系原创 2022-11-10 11:24:33 · 2253 阅读 · 0 评论 -
关于进程和线程以及句柄
关于进程和线程以及句柄转载 2022-11-09 14:44:49 · 2119 阅读 · 0 评论 -
如何从Adobe Illustrator文件中提取PNG
手把手教学,如何从Adobe Illustrator文件中提取PNG原创 2022-10-19 00:11:51 · 1991 阅读 · 0 评论 -
浮点数原理,以及跨平台计算会误差的原因分析
文章简单介绍浮点数原理极其跨平台计算会误差的原因转载 2022-09-26 19:19:30 · 1086 阅读 · 0 评论 -
C# 的静态构造函数和BeforeFieldInit含义
C# 的静态构造函数和BeforeFieldInit含义原创 2022-09-05 17:11:35 · 422 阅读 · 2 评论 -
常见的设计模式
常见的几种设计模式讲解,以及部分代码演示示例原创 2022-09-01 20:18:09 · 819 阅读 · 1 评论 -
C++赋值函数,为什么通常需要返回类的引用
C++的赋值函数中,为什么通常要求返回引用类型的对象原创 2022-08-05 14:19:39 · 639 阅读 · 0 评论 -
window定时计划任务
window定时计划任务原创 2022-07-06 19:09:31 · 5203 阅读 · 0 评论 -
如何查看网站已经保存的密码
如何查看网站已经保存的密码原创 2022-06-28 22:39:53 · 3237 阅读 · 0 评论 -
C#函数调用堆栈打印
简单记录下C#函数调用堆栈追踪原创 2022-06-15 16:40:10 · 2071 阅读 · 0 评论 -
C#中的反射原理及应用
C#中的反射原理及其应用原创 2022-06-07 22:37:55 · 2369 阅读 · 0 评论 -
游戏客户端开发面经
游戏客户端开发面经及其常见问题原创 2022-06-05 16:26:59 · 4398 阅读 · 0 评论 -
向量的角平分线向量
设有三个点 a 、b、c, 求向量ba 和bc的角平分线向量bp,如下所示方法是利用向量的加法,当两个向量ba 和bc的长度相等时,相加得到的向量即角平分线(三线合一),代码如下:float2 fun(float2 a, float2 b, float2 c){ float2 edge_a = (a-b); float2 edge_b = (c-b); float2 edge_aa = edge_a * length(edge_b); float2 edge_bb = edge_b * l原创 2022-05-26 16:48:07 · 5478 阅读 · 0 评论 -
点到直线的最短距离
在游戏代码中,经常需要求点到直线线的距离,点到线段的距离,这里简单的记录下求点到直线的距离:已知三个点的坐标, 其中A、B是直线上的两个点, P是平面上任意的一个点通过三角形的面积计算,(海伦公式)设三角形三边分别为a,b,c,三角形的面积则为:其中,p为三角形半周长,即p=(a+b+c)/2;float getPointLineDis(float2 tex, float2 p1, float2 p2){ if((tex.y - p2.y)*(p1.x - p2.x) == (p1.y -原创 2022-05-26 09:50:39 · 1487 阅读 · 0 评论 -
C# Delegate、delegate、 Action、 Func
首先Delegate 和delegate,Delegate是类, delegate是关键字,按照官网的解释,使用delegate定义的委托类型,最终会被编译器编译为Delegate类型Action和Func是官方定义的两套泛函委托类型,Action没有返回值,Func有返回值委托可以把函数作为参数传给函数例如:public static List<Delegate> test_l = new List<Delegate>(); public static原创 2022-05-15 17:27:42 · 602 阅读 · 0 评论 -
subline配置Lua环境
subline配置lua环境原创 2022-05-11 22:36:17 · 258 阅读 · 0 评论 -
C#对列表元素随机
C#中的代码如下:public static void Swap<T>(List<T> array, int i, int j) { T temp = array[i]; array[i] = array[j]; array[j] = temp; } public static List<T> RandomSort<T>(List<原创 2022-05-08 15:07:45 · 1439 阅读 · 0 评论 -
记录下交换数组中两个数字遇到的问题
C#交换列表中遇到的问题原创 2022-05-08 14:52:55 · 363 阅读 · 0 评论 -
N卡自带录屏软件geforce 双屏录制问题
Gforce 录制双屏问题原创 2022-05-04 23:41:11 · 2400 阅读 · 0 评论 -
洗牌算法思路
印象中好像看过很多次洗牌算法,但是某一天突然被问,但是忘记了,这里记录下其实思路很简单,比如有一个长度为m的数组,然后一个rand函数,第一次,我们获取一个0-m-1的随机值也就就是randint()...原创 2022-04-29 14:33:24 · 161 阅读 · 0 评论 -
当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置。
当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置的解决方法原创 2022-04-16 21:36:36 · 1396 阅读 · 0 评论 -
ProtoBuf.ProtoException: Unconsumed data left in the buffer; this suggests corrupt input
protobuf-net使用过程中遇到的一些报错原创 2022-04-16 21:27:37 · 554 阅读 · 0 评论 -
N卡怎么修改录屏文件保存位置
N卡自带录屏非常好用,本文旨在修改文件保存位置原创 2021-12-08 12:03:17 · 45663 阅读 · 3 评论 -
电脑C盘清理
苦于C盘不知道如何清理的可以看这篇文章原创 2021-12-08 11:14:33 · 794 阅读 · 0 评论 -
批量修改World和PPT的文字格式、颜色、大小等
利用宏进行批量修改字体类型以及颜色等首先是PPT:宏代码如下:Sub RemoveEmptyTextBoxes() Dim SlideObj As Slide Dim shap As Shape Dim text_range As TextRange Dim ch As ChartFont Dim i As Integer For Each SlideObj In ActivePresentation.Slides For Each s原创 2021-11-23 16:52:57 · 2070 阅读 · 0 评论 -
递归遍历求数独的解
主要的代码如下,vector<vector<int>> row(9, vector<int>(10)); # 检测每一行vector<vector<int>> col(9, vector<int>(10)); # 检测每一列vector<vector<int>> local(9, vector<int>(10)); # 检测每一个单位九宫格vector<vector<vect原创 2021-07-11 21:31:34 · 99 阅读 · 0 评论 -
头文件中只能声明变量不能定义变量 而声明变量必须带extern,为什么头文件中变量的声明都没有加
1.头文件中不可以放变量的定义!一般头文件中只是放变量的声明,因为头文件要被其他文件包含#include,如果把定义放在头文件的话,就不能避免多次定义变量。C++不允许多次定义变量,一个程序中对指定变量的定义只有一次,声明可以无数次。三个例外:1)值在编译时就已知的const变量的定义可放在头文件中,如:const int num=10;2)类的定义可放在头文件中。3)inline函数。2.定义和声明是不同的。定义只能出现一次,而声明可以出现多次。下面的语句是定义,不能放在头文件中:extern转载 2021-07-06 10:12:27 · 2738 阅读 · 0 评论 -
补码、反码、原码与python运算符~
**在python种,~1=-2, ~60 = -61,这是为什么呢?**首先,~运算符在python中是按位取反的运算,1的二进制是 0000 0001,按位取反变为 1111 1110,二进制位中的最高位是符号位,1取反之后变成了负数,好,接下来介绍下补码、反码、原码,计算机中正整数数原码、反码、补码都是一样的,而负整数就有区别了,反码是原码除最高位外其余所有位的逐位求反, 将反码加上1就得到补码。计算机中整数都是以补码形式储存的,所以上面的1111 1110是补码形式,为了直观表示1取反之后到原创 2021-06-10 10:48:42 · 5839 阅读 · 3 评论