编写一个包装类来处理只能按值传递的句柄相对容易。我正在尝试确定封装需要通过地址传递的句柄的最佳方法。
例如,编写一个用于 QueryServiceConfig() 的按值传递的SC_HANDLE 的包装器并不难。可以实现像.GetHandle()这样的成员函数或者实现operator()。
问题在于(至少对我而言),像RegOpenKeyEx()这样需要HKEY地址的API函数。
我已经阅读过重载&运算符通常是个坏主意。有没有推荐的方法可以保持封装(或尽可能多的封装)和资源收集,同时允许API函数访问?
例如,编写一个用于 QueryServiceConfig() 的按值传递的SC_HANDLE 的包装器并不难。可以实现像.GetHandle()这样的成员函数或者实现operator()。
问题在于(至少对我而言),像RegOpenKeyEx()这样需要HKEY地址的API函数。
我已经阅读过重载&运算符通常是个坏主意。有没有推荐的方法可以保持封装(或尽可能多的封装)和资源收集,同时允许API函数访问?