Should std::unique_ptr be permitted

前端 未结 4 1422
独厮守ぢ
独厮守ぢ 2020-12-03 16:53

This is a very simple question. Consider the following code:

#include 
#include 

typedef std::unique_ptr UniqueVo         


        
4条回答
  •  青春惊慌失措
    2020-12-03 17:37

    Don't delete variables of void *

    If you want to work with something like Win32 Handles, please provide a custom deleter.

    For example:

    void HandleDeleter(HANDLE h)
    {
        if (h) CloseHandle(h);
    }
    
    using UniHandle = unique_ptr>;
    

    Then:

    UniHandle ptr(..., HandleDeleter);
    

提交回复
热议问题