std-shared-ptr转std-unique-ptr

不能直接转,只能将其移动到另一个用std::unique_ptr管理的对象里。

#include <iostream>
#include <memory>
int main() {
	std::shared_ptr<std::string> a = std::make_shared<std::string>(std::string("test"));
	std::cout << *a << std::endl;
	std::unique_ptr<std::string> b = std::make_unique<std::string>(std::move(*a.get()));
	std::cout << *b << std::endl;
	return 0;
}

感谢#cpplang:matrix.org群聊里的@deepbluev7:neko.dev@nenomius:matrix.org的指导。

posted @ 2024-09-28 14:05  寻找繁星  阅读(3)  评论(0编辑  收藏  举报