检查它是否有太大的影响。机会是,它不会太多,而且可能比大多数人自己的解决方案要少。不幸的是,你能做的不多。您需要定义责任,即谁负责拥有您的资源。在我看来,这是C++的一个基本问题,可能是人们移动到其他语言的最大原因之一。你是否已经对智能指针进行了剖析,或者
检查它是否有太大的影响。机会是,它不会太多,而且可能比大多数人自己的解决方案要少。不幸的是,你能做的不多。您需要定义责任,即谁负责拥有您的资源。在我看来,这是C++的一个基本问题,可能是人们移动到其他语言的最大原因之一。你是否已经对智能指针进行了剖析,或者,c++,linux,C++,Linux,检查它是否有太大的影响。机会是,它不会太多,而且可能比大多数人自己的解决方案要少。不幸的是,你能做的不多。您需要定义责任,即谁负责拥有您的资源。在我看来,这是C++的一个基本问题,可能是人们移动到其他语言的最大原因之一。你是否已经对智能指针进行了剖析,或者仅仅是你的猜测?试试智能指针。配置文件,以检查其是否有太大的影响。机会是,它不会太多,而且可能比大多数人自己的解决方案要少。不幸的是,你能做的不多。您需要定义责任,即谁负责拥有您的资源。在我看来,这是C++的一个基本问题,可能是人们移动到其他语
检查它是否有太大的影响。机会是,它不会太多,而且可能比大多数人自己的解决方案要少。不幸的是,你能做的不多。您需要定义责任,即谁负责拥有您的资源。在我看来,这是C++的一个基本问题,可能是人们移动到其他语言的最大原因之一。你是否已经对智能指针进行了剖析,或者仅仅是你的猜测?试试智能指针。配置文件,以检查其是否有太大的影响。机会是,它不会太多,而且可能比大多数人自己的解决方案要少。不幸的是,你能做的不多。您需要定义责任,即谁负责拥有您的资源。在我看来,这是C++的一个基本问题,可能是人们移动到其他语言的最大原因之一。你是否已经对智能指针进行了剖析,或者仅仅是猜测?一点关于代码> SyddYpPTR<代码>:最好使用<代码> MaxySuffux/Cuth>构建它,它更有效。您可以禁用shared_ptr的线程安全性,以避免支付互斥锁的费用。关于
shared_ptr
的一点:最好使用使_共享
来构建它,它的效率更高。此外,您可以禁用shared_ptr的线程安全以避免支付互斥锁的费用。打包也可以通过make_shared函数实现。@ronag:如果我没记错的话,make_shared
仍然执行2次分配,因为计数器
在共享ptr
池和弱ptr
池之间共享,并且独立生活。make_shared
packs是删除程序和实际分配的对象。不过我可能弄错了,在boost源代码中跋涉肯定不是我过去最喜欢的。打包也可以通过make_shared函数实现。@ronag:如果我没记错的话,make_shared
仍然进行2次分配,因为计数器
在共享ptr
池和弱ptr
池之间共享,并且独立生活。make_shared
packs是删除程序和实际分配的对象。虽然我可能弄错了,但在boost source中跋涉肯定不是我过去最喜欢的时间。
std::vector<smart_ptr<T> > objects;
if(!objects.empty()) {
smart_ptr<T> *objects_raw=&objects[0];
for(size_t n=objects.size(),i=0;i<n;++i) {
T *object=objects_raw[i].get_ptr();
// do stuff
}
}