Why doesn't `unique_ptr<QByteArray>` degrade to `QByteArray*`?

妖精的绣舞 提交于 2019-12-02 13:37:13

No, this is not a special case; the standard-library smart pointers do not degrade implicitly in contexts requiring raw pointers.

As mentioned in the question, the proper way to access the underlying raw pointer from a unique_ptr is to use get(). This is a design feature, apparently intended to help avoid accidentally causing multiple-ownership scenarios, which would lead to undefined behavior.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!