- 博客(9)
- 收藏
- 关注
原创 std::ref
std::ref作用:将一个类型为对象或函数的实参包装为一个可以隐式转化或显式获取引用的类。在std::thread构造函数中,虽然参数类型为右值引用类型,但只是为了将那些只能进行移动的类型捕获,而实际上构造函数将无视实例化类型,仅拷贝提供的变量。使用引用包装器,将使得那些需要对实参进行引用的形参(T&)得到正确初始化,从而在新线程函数中能够对共享内容进行读取、修改。原码://仅接受左值template<class _Ty> _NODISCARD inline refe
2022-05-08 00:15:49
260
原创 UE Actor通信笔记
Actor通信类型转换C++类型转换:dynamic_cast<>UE类型转换:Cast<>在UE的Actor中内置了虚函数NotifyActorBeginOverlap/NotifyActorEndOverlap。在继承Actor后,我们可以重写这两个虚函数实现Actor间的自定义通信。以Fire Actor为例,当 OtherActor与Fire Actor重叠后,Fire Actor将会通过类型转换和条件判断确定该Actor是否是某个特定类型,进而实现下一步的逻辑。
2022-03-21 17:54:05
697
原创 C++RTTI运算符
概述运行时类型识别(RTTI)两个重要运算符:typeid:返回表达式类型。dynamic_cast:将基类指针或引用安全转换成派生类的指针或引用。oop回顾:不存在从基类向派生类的隐式转换。原因是因为派生类对象中包含基类部分和派生类部分,而基类对象中只包含有基类部分。不存在基类指针或引用绑定在一个派生类对象,又将基类转换为派生类。该操作在编译时就会引发错误,原因是编译器无法确定某个特定转换是运行时安全的,其只能检查static type。dynamic_cast运算符RTTI运算符
2022-03-21 17:50:48
1094
原创 C++智能指针
typora-copy-images-to: ./智能指针知识总结:来源cpp,自己总结复习用。对象与内存内存分布:静态内存:局部static对象,类static数据成员,函数之外定义的变量。栈内存:定义在函数内的非static对象。内存池(自由空间,堆):动态分配对象——运行时分配的对象。自动和static对象的内存管理:全局对象,程序启动时分配内存,程序结束时释放内存。局部自动对象,进入定义的程序块后分配内存,离开块之后释放内存。局部static对象,首次使用前.
2021-09-23 16:59:18
158
原创 c++ 中sizeof 与数组形参
c++ 中sizeof 与数组形参sizeof,返回表达式或类型名所占用的字节数。 int x[10]; int* p = x; cout << sizeof(x) << endl; //40,结果为数组占用的总空间 cout << sizeof(*x) << endl; //4,结果为数组类型占用的空间 cout << sizeof(p) << endl; //4,结果为指针占用的空间 cout <<
2021-09-19 17:48:18
1004
原创 颜色模型
颜色(色彩:美术术语)颜色简要颜色的形成:物理与心理相互作用的过程。色散:光经过三棱镜折射后显示在屏幕上呈现彩虹色带谱。光谱(specturm):按波长顺序排列的彩色光带。(心理学和视觉角度)颜色三个特性:色调(Hue):区别其它颜色,例如红黄蓝分属三种不同色调。饱和度(Saturation):颜色的纯度,如”越鲜艳越饱和“。亮度(Lightness,value,Bightness):光的强度。(物理光学)颜色三个特性:主波长(Dominant):所见光中占支配地位的光波长度。
2021-05-12 23:53:00
302
原创 shader总结篇:管线
本文是学习《shader入门精要》和《计算机图形学》的总结篇1,图源来自书中。前置了解一些图形学史: 1962年,MIT林肯实验室的Sutherland在其论文中首次使用“Computer Graphics”术语。 同年,法国雷诺公司的工程师Bezier提出贝塞尔曲线并用于曲面设计。 1964年,MIT的Coons 提出“超限插值”思想,通过插值4条任意边界曲线构造曲面。 CAD:Computer Aided Design,是计算机辅助设计简称,60年代已经出现。 70到80年代光照
2021-05-05 20:08:36
395
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人