玩过C++shared_ptr类型的智能指针的同学,是否有接触过std::enable_shared_from_this,它的出现为我们提供哪些编程方面的便利呢?下面就介绍它。 一、std::enable_shared_from_this的作用 按照enable_shared_from_this - ...
分类:
其他好文 时间:
2021-05-24 08:33:15
阅读次数:
0
不会的点: √进程间同步,进程间通信方式 IO多路复用 epoll select poll √ 协程 死锁 进程和线程的死锁 √ 多线程多进程 √socket怎样建立进程间的通信 √Const关键字的用法 √右值引用 √编程实现:写一下shared_ptr这个类的实现,其中该有的数据成员和函数成员, ...
分类:
其他好文 时间:
2021-05-24 03:02:21
阅读次数:
0
一个unique_ptr"拥有“他所指向的对象。与shared_ptr不同,某个时刻只能有一个unique_ptr指向一个给定的对象。当unique_ptr被销毁时,它所指向的对象也被销毁。uniptr_ptr表达的是一种独占的思想。 初始化 #include <iostream> #include ...
分类:
编程语言 时间:
2021-03-10 13:24:43
阅读次数:
0
要确保用 new 动态分配的内存空间在程序的各条执行路径都能被释放是一件麻烦的事情。C++ 11 模板库的 <memory> 头文件中定义的智能指针,即 shared _ptr 模板,就是用来部分解决这个问题的。只要将 new 运算符返回的指针 p 交给一个 shared_ptr 对象“托管”,就不 ...
分类:
编程语言 时间:
2021-03-10 13:24:26
阅读次数:
0
std::weak_ptr 避免shared_ptr内存泄漏的利器。 smart pointer 三兄弟性格各异。unque_ptr是独来独往,shared_ptr是左拥右抱,而weak_ptr生来就不是为了单打独斗,了解之后你会发现他总是和shared_ptr出双入对。 既然shared_ptr是 ...
分类:
其他好文 时间:
2021-01-20 11:45:59
阅读次数:
0
终于到了shared ptr 首先看一下std::make_shared 可能有人不知道stdpair是什么,接下来的例子是和stdpair有关系的, first和second是第一个成员和第二个成员,然后我们可以发现,第一个first和第二个second竟然可以不一样 // make_pair e ...
分类:
其他好文 时间:
2021-01-08 11:22:07
阅读次数:
0
前言 C中我们会进行malloc一块内存,然后free掉。但是经常会遇到我们忘记写free,导致内存溢出,C++也有类似的情况,为了解决掉我们忘记释放内存的习惯,C++引入了几种智能指针,为的就是让函数可以在正常终止或者异常终止的情况下,改指针的指向的内存都可以处于正确的状态。shared_ptr、 ...
分类:
编程语言 时间:
2020-11-19 12:30:14
阅读次数:
6
当进行拷贝或赋值操作时,每个shared_ptr都会纪录有多少个其他shared_ptr指向相同的对象: auto p = make_shared<int>(50);//p指向的对象只有p一个引用者 auto q = p; //p和q指向相同对象,此对象有两个引用者; 智能指针类能记录有多少个sha ...
分类:
编程语言 时间:
2020-07-28 22:13:59
阅读次数:
134
学习C++的shared_ptr智能指针你可能会碰到一个问题,循环引用为什么会出现问题?为什么不能释放?C++不是保证了对象构造成功退出作用域时就绝对会调用析构函数吗,调用析构函数不也会调用成员变量和父类的析构函数吗,为什么还不能释放呢?难道是编译器有bug? 非也,原因是一句绕口令式的答案:你以为 ...
分类:
其他好文 时间:
2020-07-19 23:46:32
阅读次数:
114
模型部署到现场为了防止泄密,需要加密。加密一方面可以防止泄密,另一方面可以便于模型跟踪管理,防止混淆。 libtorch的加载模型的函数,torchjitload();我点开load可以看到函数。有两个: TORCH_API std::shared_ptr<script::Module> load( ...
分类:
其他好文 时间:
2020-06-24 14:02:16
阅读次数:
84