黄岛网站建设公司首选,彩票站自己做网站,html5做手机网站,公司起名字大全免费取名shared_ptr : 共享指针 管理多个客户使用的内存,多客户都拥有该内存块, 当共享指针不再拥有该内存时,内存会自动释放, 多用于并发领域,当所有访问该内存的线程都退出时,释放该内存 共享指针可被随意复制,与独占指针相反,独占指针不能被复制 在内存与时间上有一定的开销… shared_ptr : 共享指针 管理多个客户使用的内存,多客户都拥有该内存块, 当共享指针不再拥有该内存时,内存会自动释放, 多用于并发领域,当所有访问该内存的线程都退出时,释放该内存 共享指针可被随意复制,与独占指针相反,独占指针不能被复制 在内存与时间上有一定的开销 可能出现的循环引用问题 当两个或多个由 shared_ptr 对象控制的资源保留有相互引用的 shared_ptr 对象时,会发生循环. 示例: 创建并使用共享指针: //函数返回一个共享指针
shared_ptrint funcSharePtr()
{//创建两个共享指针并动态分配内存shared_ptrint p1{ new int{} };shared_ptrint p2{ new int{} };//创建一个共享指针并复制另一个共享指针地址shared_ptrint p3 = p2;//指针复制,指针p2,p3指向同一块内存cout "共享指针p1指向的内存地址:" p1 endl;cout "共享指针p2指向的内存地址:"