Home
C++之偏特化继承实现类型的全退化
C++

C++之偏特化继承实现类型的全退化

在标准库中有个模板函数:std::decay可以退化类型,但退化的并不完全,如const int**[]或者const ...
C++变长模板递归实现多字符串Concat
C++

C++变长模板递归实现多字符串Concat

Concat使用变长的参数模板来接受不同的字符串(string, const char*),为了保证string不会多次...
C++使用类模板中的类模板与类
C++

C++使用类模板中的类模板与类

此文章主要涉及C++中template与typename关键字的使用,正常情况下template用来定义模板,typen...
C++字符串编码与编译器实现
C++

C++字符串编码与编译器实现

在本篇文章中,Unicode指的是字符集而非UTF-16。 在Windows系统中,UTF8编码会被当作为普通的ASCI...
C#与C/C++动态链接库交互踩坑总结
C++

C#与C/C++动态链接库交互踩坑总结

C与C#的交互 在C#执行C编写的DLL时可能会出现很多问题,而绝大部分问题都出自数据封装传送上,接下来总结了本次交互实...
C++中的事件分发器与委托
C++

C++中的事件分发器与委托

在程序中使用批量事件通知是很常用的场景,该事件分发器可以绑定多个静态与非静态函数,内部使用标准库的list和functi...
C#动态生成IL实现匿名类和接口
dotNet

C#动态生成IL实现匿名类和接口

通过这种方式可以直接对接口实例化了(伪),动态的通过委托来实现接口,匿名类型是在运行时动态构建的。 实现思路: 使用As...
C#之结构体与二进制数据的转换
dotNet

C#之结构体与二进制数据的转换

在写关于二进制文件操作程序的时候,经常要去解析文件头,在C++中我通常是使用Stream把文件读取进来后直接将二进制数据...
C#之拓展方法的本质
dotNet

C#之拓展方法的本质

扩展方法可以使对象增加额外的“看似是成员”的方法。 普通的实例类型定义: {{EJS52}} 扩展方法的定义: {{EJ...
HSV与RGB互转公式与Color封装
dotNet

HSV与RGB互转公式与Color封装

无论是System.Draw.Color还是UnityEngine.Color对颜色操作的功能还是太少了,我们在用ps等...