- 博客(557)
- 资源 (10)
- 收藏
- 关注
原创 C++模板特化的一个BUG?
一,模板如下:#pragma once#include<cstdio>template<typename T1>class TestSpecializeBug{public: TestSpecializeBug() { printf("基础模板\n"); } void Func() { TestSpecializeBug<int*> ot1; }};template<typename T1>class TestSp.
2022-03-25 11:33:58
1252
原创 C++类模板特化全总结
//基础模板一template<typename T1, typename T2>class TestTemplateA {public: void Func() { printf("TestTemplateA: base\n"); }};//注意下面这个模板并不是【基础模板一】的偏特化,编译会报错,因为它属于【基础模板一】的一种情况//特化或偏特化是指对类名后面的模板类型参数具体指定,而不是对template<>里的参数的具体指定/.
2022-03-22 19:53:40
1063
原创 C++ 类模板中友元函数问题
#pragma once#include<iostream>template<typename T>class TestFriendTemplate{public: //模板类的友元定义在类外时,需加个<T> friend std::ostream& operator< <T> (std::ostream& out, const TestFriendTemplate<T>& ftemp); frie.
2022-03-22 19:34:47
1411
原创 C++友元与输出运算符重载
#pragma once#include <ostream>#include <iostream>using namespace std;class MyComplex {public: int GetA() const{ return a; } int GetB() const { return b; } //输出重载一 friend ostream& operator < (ostream& out, const MyCo.
2022-03-21 17:55:50
488
原创 图形学:纹理寻址模式与UVTiling
两者不一样,容易混淆:1,贴图寻址模式是说:当UV坐标大于1或小于0时,硬件自动取小数部分。当给一个平面网络赋予大于1的UV时,贴图自动在上面重复铺开。重复铺开有多种方式:简单重复,镜向重复等。2,UVTiling,当UV为0-1时,UTiling=2,VTiling=2,表示在0-1的UV范围内,横铺2张,坚铺2张。结合 Mirror U,Mirror V,也可以实现镜像平铺这两者共同起作用。如:一个正方形风格,UV范围是0-2,UVTiling是2,则方块上一共会有4X4=16张重复
2022-03-15 11:25:48
982
原创 UE4材质:纯数学算法实现水面水波扩散效果
上面的做法有几个问题:1,用于地形时,显示不出来。原因是地形的UV是会超出1的,做如下修正:2,水波在UV边界被截断,暂不处理了,有几个办法:不让水波出现在UV边界上,或在世界空间指定水波位置,在二个相邻的水块中分别为半个水波指定发射位置,使两个块的水波在边界刚好对接成一个完整水波。...
2022-03-14 18:37:36
1590
1
原创 C++ 64位下指针长度
//测试环境:Win11,x64,vs2022,c++20,unicodevoid TestArg(const char ch[]) { //结果一:当数组作为参数传递时,退化为指针了,这里ch是一个指针,而非一个数组 printf("Test1: size=%d, strlen=%d\n", (int)sizeof(ch), (int)strlen(ch)); //size=8, strlen=5}int main(){ //结果二:64位环境下,任何类型的指针长度都.
2022-03-08 22:52:08
1436
原创 C++ 构造函数中调用虚函数
#include <iostream>class CObject {public: CObject() { /*构造函数中调用虚函数 此时子类还未构造完成,故此时调用CObject::Test1,等子类构造完成后CMonster::Test1被调用 输出结果如下: CObject-Test1 CObject-construct CMonster-construct .
2022-03-07 22:22:15
610
原创 UE4 材质:石缝提高混合权重
要点一:当在材质编辑器中使用LandScapeLayerBlend中添加层,或使用LandscapeLayerSample添加层时,地形材质的Paint模式下就会看到相应的层,如下:要点二:LandscapeLayerSample可以获得相应层的权重,使用它,可以完全替代LandScapeLayerBlend来手动实现不同层的混合...
2022-03-05 16:14:12
503
原创 一个非常奇怪的C++拷贝构造函数问题
编译环境:VS2022,C++14,对比测试如下:测试一:#include <iostream>class CTestA {public: CTestA() { printf("CTestA-contruct\n"); } CTestA(const CTestA& other) { printf("copy-construct"); } CTestA& operator=(con
2022-02-10 11:48:35
633
原创 UE4 c++编译报错之:使用了未定义类型
// Fill out your copyright notice in the Description page of Project Settings.#include "MyCharacter.h"#include <Camera/CameraComponent.h>//#include <Components/CapsuleComponent.h>// Sets default valuesAMyCharacter::AMyCharacter(){ //.
2022-02-08 21:50:12
2233
原创 UE4 C++与蓝图的继承问题
问题:C++写了一个类MyChar,并派生了一个蓝图子类BP_MyChar。代码如下// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "GameFramework/Character.h"#include "MyCharacter.generated.h"using namespace UP;
2022-02-08 09:46:24
2054
原创 String.StartsWith与 EndsWith在大量使用时效率果然极低
今天在写一个工具时,写着写着发现执行速度突然变慢。最后发现是string.StartsWith与EndsWith的锅,改为手动比较后,执行时间变成原来的1/5-1/10。代码如下 ,黄色背景是主要部分using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEdi...
2021-01-02 20:11:00
1795
原创 子线程适当Sleep的重要性
主线程开了一个子线程去做事件,这个子线程全速跑和每个循环周期休眠1毫秒,2种方式对CPU的消耗差别是巨大的。以U3D手游为例,运行时主线程应该全力跑,不做任何sleep,开一个子线程去做网络收发和更新。这时输出CPU使用情况发现。1,不开子线程,主线程全力跑,此游戏进程的CPU占用率为15%。2,主线程,子线程全力跑,此游戏进程的CPU占用率为30%,若子线程每个while循环休眠...
2020-12-20 11:29:00
786
原创 在Mono/Linux上使用PerformanceCounter
https://www.cnblogs.com/jzywh/archive/2012/07/30/2615715.html在Mono/Linux上使用PerformanceCounter
2020-12-18 21:18:00
250
1
原创 多线程的多核分配问题验证
using System.Diagnostics;using System;using System.Threading.Tasks;namespace THREADS{ class Threads { public double[] times = new double[4]; public int[] counts = ne...
2020-12-18 15:53:00
328
1
原创 UNITY 手游(安卓)如何使用C/C++代码
解决方案:将C/C++代码编译成so供C#代码调用。SO生成工具:android studio,简称AS一,so 生成方法:1,菜单:File->New->New Project-> Native C++2,编写C++导出函数3,菜单:Build->Select Build Variants,选择构建类型 Debug或Release4, 菜单:Bui...
2020-12-12 21:25:00
1181
原创 关于C#内存释放的BUG?
using System;class MyData{ public int[] dat; public MyData(int size) { dat = new int[size]; Console.WriteLine($"构造"); } ~MyData() { Console.Wr...
2020-12-12 10:01:00
164
原创 C#中如何 处理 TCP中的TIME_WAIT
https://www.cnblogs.com/davidCheng/p/3210862.html
2020-10-29 11:21:00
435
原创 多线程中使用UNITY变量导致线程执行断掉却又不报错的问题
时间:2020.9.29,XMoba第一次Demo子线程调用UNITY的相关变量或函数导致程序执行过程断掉,且不报任何错误的一个BUG一,问题现象网络异步连接的回调函数中使用了一个函数XLog.log,此函数中使用了UNITY的Time.FrameCount,导致程序执行到这一行时异常退出,但不报任何错误。 void OnConnectCallback(IAsyncRes...
2020-09-29 19:09:00
529
原创 网络模拟工具
https://www.spoto.net/ccna/279.htmlhttps://www.epiol.top/archives/eve
2020-09-26 15:36:00
117
原创 Unity 中使用Async-Await替代 coroutines
http://www.manew.com/thread-108589-1-1.html其中重要知识点:SynchronizationContext,这个东西来将一个线程的内容传到另一个线程中。没有细看比如:U3D开发,C#在主线程中执行一个网络异步连接BeginConnect(ip, port, callback),C#底层是开了一个线程X去做连接相关的事情,连接完成后,从线程X调用...
2020-09-20 10:37:00
731
原创 MSDN 中文地址
https://docs.microsoft.com/zh-cn/archive/msdn-magazine/2011/february/msdn-magazine-parallel-computing-it-s-all-about-the-synchronizationcontext
2020-09-20 10:25:00
394
原创 Process Hacker 一个系统监视工具
网络调试时,从后端同学那里得知这个工具。主要用到了它的网络监测功能,查看前后端的连接状态: established, close wait ...
2020-09-17 09:23:00
285
原创 C# 接口持有结构体会导致装箱问题
问题起源:void DistpatchEvent(EventType, IEventData)这里的 IEventData是一个接口,代表事件参数。为了避免每次发送事件产生GC,决定事件参数使用struct,但struct不能继承,所以这里只能使用接口作为基类。但将结构体传给接口时会发生装箱操作,产生GC。public class testStructGC : MonoBeha...
2020-09-09 09:56:00
682
原创 C++静态全局变量问题
C++中,在文件中,类外,声明一个非静态变量,这个就是全局变量,它的作用域是全局的,链接时个编译单元一起C++中,在文件中,类外,声明一个静态变量,这个就是静态全局变量,作用域是编译单元,因此同一个全局静态变量链接时不会报重复链接错误#pragma once#include<vector>class MyClass{public: void Test...
2020-08-21 14:15:00
475
原创 SVN 提交子文件夹问题
今天遇到一个SVN的提交问题:情形:项目中添加了一个文件夹,文件夹中有多个子文件夹和一些文件,在上层文件夹右键点击提交时,只显示出上层文件夹,没有显示出子文件夹及子文件。原因:之前想忽略一些unity生成的Libary文件夹,使用了【Add to ignore list-> recursively】,应该使用【Add to ignore list by name】。修改:右键...
2020-08-18 19:55:00
756
原创 关于菲涅尔现象
站在湖边,为什么看远处的水面反光较强,而近处的水面反光较弱(可以直接看到水底)?今天看了维基的反射方程后,明白了些https://zh.wikipedia.org/wiki/%E8%8F%B2%E6%B6%85%E8%80%B3%E6%96%B9%E7%A8%8B其中的Rs或Rp是两种偏振下的反射率,反射率越大,进入眼睛的光越强。那么分析下Rs,可以这样认为:入射角与折...
2020-07-16 20:11:00
557
原创 关于GIT的SSH加密问题
使用GIT时1,若使用SSH方式,需要公钥和私钥,公钥放在远程仓库中,如GITHUB,GITLAB中,私钥放在本地。私钥用于解密公钥加密的内容。2,若使用HTTP方式,不需要公钥和私钥。3,克隆别人的开源仓库时只能使用HTTP方式。克隆自家的仓库时可以使用HTTP或SSH,因为公钥和私钥我们都知道,仓库是我们自己管理的...
2020-07-15 09:34:00
170
U3D(暴风)雨系统合集
2018-06-13
番茄插件破解版(vs助手-visualAssistx)2010-2012-2013-2015
2018-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人