Smart Pointers compatibility with raw pointers

I am using a library that uses raw pointers. In my code, I use smart pointers. How do I make them compatible. For example, I have an object

std::unique_ptr<Canvas> m_canvas;

But a function call in library is

f(..., Canvas* c,...);

How do I pass m_canvas to f ?


If the function doesn’t take ownership, you might use get():


If the function takes ownership, you might use release():


Leave a Reply

Your email address will not be published. Required fields are marked *