使用std::function将类成员函数指针转换为普通函数指针 起因因为强迫症 舍曲西林救不了 C++,想把 GLFW 绑定的回调函数也放在类里,但是回调函数要求的类型固定了,例如void (*)(GLFWwindow*,int,int),但是如果函数放在类里那么祂的类型大概是void (A::*)(GLFWwindow*,int,int),而且强制类型转换也不行(倒也讲得通),百度之,得重复文章一整屏,但是大概思路就是用标准库的 std::function 2022-04-03 C++
年轻人第一次攒机 台式机 DIY 从小时候就在想了,家里的旧电脑虽然算是台式机但是受到钱包和平台的限制也就一直停留在折腾软件的层面上。上了大学也就换了笔记本用,寝室的条件比较混沌,也没有什么积蓄,所以笔记本陪伴了我四年。这四年里笔记本的外设倒是折腾了不少,白嫖了一个小显示器和一块面板,买了一块驱动板用胶带大法之后组成了我的寝室笔记本’磁吸悬挂’三屏系统(渣画质警告)。 虽然在笔记本里,这扩展性配置已经算很好了,但 2022-03-28 DIY
谈谈MSVC下线程安全的静态变量初始化 起因是想实现一个单例模式的类,说起单例模式,那肯定逃不开拷贝控制和线程安全问题,因为项目需求,我选择使用饿汉式方法实现。饿汉式在网上的主流说法都是“不需要加锁,执行效率高,线程安全的”“不管是不是用都会初始化,浪费内存”这两点。然后看到了面试中的 Singleton这篇文章,里面提到了 “好的。首先,我使用了一个指针记录创建的 Singleton 实例,而不再是局部静态变量。这是因为局部静态变量 2021-12-15 C++
在Windows下使用wsl2配置sbmc的docker环境 项目源地址: https://github.com/adobe/sbmc 根据项目 Readme 中的快速开始来配置环境。 开始这个项目使用 make 来配置 docker,而且只支持 Linux,因此这里使用 wsl 子系统来配置使用。 wsl 需要升级到 wsl2,并且将子系统也升级到 2 版本才可以在子系统中使用 Windows 下安装的 Docker。 升级过程很简单,这里略过。完成后 2021-10-28 docker wsl
【GAMES101】作业0与vcpkg+CMake环境配置 环境配置使用 VS 的 CMake 支持,在 VS2019 打开老师提供的作业项目。这时缺少Eigen3库,无法编译运行。 安装 vcpkg官方教程优先参考https://vcpkg.io/en/getting-started.html 安装过程很简单,在你想安装的位置执行这两行命令: 12git clone https://github.com/Microsoft/vcpkg.git.\vcpk 2021-09-13 CG
C++杂项记录 相同class的各个对象互为友元 C++面向对象高级编程(侯捷) P4 参数传递与返回值 123456789101112131415161718class complex{public: complex(double r=0, double i=0) :re(r), im(i) { } double func(const comp 2021-08-29 C++