如果它有一个用原生指针指针实现的对象引用,或是用boost::shared_ptr等引用分享所有权的智能指针实现的对象引用,则这个拷贝是浅拷贝 2。如果是用copy_ptr这种实现了深拷贝的智能指针实现的对象引用,就是深拷贝了。copy_ptr在内部保留一个指针,当它自己解析时,它同时也销毁它在内部保存的这个指针。 最能体现深层拷...
另一种方法是使用一个自定义的智能指针类,比如aurora::CopiedPtr,它可以在拷贝或赋值时自动进行深拷贝。
如果它有一个用原生指针指针实现的对象引用,或是用boost::shared_ptr等引用分享所有权的智能指针实现的对象引用,则这个拷贝是浅拷贝 2。如果是用copy_ptr这种实现了深拷贝的智能指针实现的对象引用,就是深拷贝了。copy_ptr在内部保留一个指针,当它自己解析时,它同时也销毁它在内部保存的这个指针。 最能体现深层拷...
3|03.智能指针 #pragmaonceclassSmart_ptr{friendclassChasPtr;private:int*ip;size_t use;//计数Smart_ptr(int*p):ip(p),use(1){}~Smart_ptr(){deleteip;}};classChasPtr {public:ChasPtr(int*p,inti):ptr(newSmart_ptr(p)),val(i){}ChasPtr(constChasPtr&orig) :ptr(orig.ptr), val(orig.val...
c++ 智能指针避免不了浅拷贝问题,例如 shared_ptr就是引用技术的,属于浅拷贝,unique_ptr 上来禁用拷贝...
7.简述一下浅拷贝和深拷贝?8.请你说说 TCP 如何实现可靠传输?9.请你说说三种智能指针实现原理和使用场景?10.请你介绍一下数据库的 ACID?11.请你说说 C++11、C++14、C++17、C++20 都有什么新特性?12.说一说进程有多少种状态,如何转换?13.说一说 select 的原理以及缺点?14.简述一下 C++ 中的内存对齐?15...