在上一章中, 我们已经将 n维数组与指针的联系 讲完了, 现在要介绍的是非常高级的 C++ 指针, 指针的内容必须完全掌握才可进入此篇, 没有掌握看此篇 请注意: 部分 IDE (如 Dev-Cpp) 不支持 C++11 或没有 <memory> 头文件者, 请跳过此篇 在 C++ 官网 中已经详细 ...
分类:
编程语言 时间:
2019-08-31 12:57:33
阅读次数:
98
智能指针(shared_ptr,unique_ptr)作为函数参数或者返回值时的一些注意事项 当智能指针作为函数的参数或者返回值时,一直在纠结到底是用智能指针对象本身还是用原始指针。Herb Sutter大师的文章很好的解决了这个疑惑,参见网址: https://herbsutter.com/201 ...
分类:
其他好文 时间:
2019-08-30 15:56:49
阅读次数:
424
现在已经大体开发出来个框架,可以存储简单的是字句信息,回答是字句.实现过程大致如下: 我是张山. 句型: 代词 是词 专有名词; 信息提取: 添加是链(代词,专有名词,空); //参数分别是 主语,宾语,和定语,这里定语为空 张三是李四的朋友; 信息提取:添加是链(专有名词,专有名词,抽象名词) 这 ...
分类:
编程语言 时间:
2019-08-28 22:21:25
阅读次数:
121
C++中几种智能指针的区别 为什么要使用智能指针: 智能指针的作用是管理一个指针,因为存在以下这种情况:申请的空间在函数结束时忘记释放,造成内存泄漏。使用智能指针可以很大程度上的避免这个问题,因为智能指针就是一个类,当超出了类的作用域是,类会自动调用析构函数,析构函数会自动释放资源。所以智能指针的作 ...
分类:
编程语言 时间:
2019-08-27 18:59:20
阅读次数:
108
shared_ptr是一个最像指针的“智能指针”,是boost.smart_ptr库中最有价值、最重要的组成部分,也是最有用的,Boost库的许多组件——甚至还包括其他一些领域的智能指针都使用了shared_ptr,所以它被毫无悬念地收入了C++11标准。 shared_ptr与scoped_ptr ...
分类:
其他好文 时间:
2019-08-20 21:50:45
阅读次数:
86
C++标准库(五)之智能指针源码剖析 _Mutex_base template<_Lock_policy _Lp> class _Mutex_base { protected: enum { _S_need_barriers = 0 }; }; template<> class _Mutex_bas ...
分类:
其他好文 时间:
2019-08-10 19:14:13
阅读次数:
132
由于c++没有垃圾回收机制,像堆只能手动开辟内存,手动释放,像栈只能系统开辟,系统释放,于是智能指针出现了,它实现了内存的手动开辟,系统释放,防止了内存泄漏问题; 我们知道, 栈对象在离开其作用域的时候, 会自动调用析构函数, 所以, 可以考虑把某一栈对象与某一堆内存绑定,且在其析构函数中释放堆内存 ...
分类:
其他好文 时间:
2019-08-10 13:44:19
阅读次数:
76
四种智能指针的讲解(auto_ptr, second_ptr, shared_ptr, weak_ptr),包含源代码:https://blog.csdn.net/sinat_36118270/article/details/69061348 shared_ptr, unique_ptr, weak ...
分类:
编程语言 时间:
2019-07-29 17:36:30
阅读次数:
172
上一篇线程池里,有一个返回std::shared_ptr<T>对象,他其实是c++里面的智能指针 std::shared_ptr std::shared_ptr大概总结有以下几点: (1) 智能指针主要的用途就是方便资源的管理,自动释放没有指针引用的资源。 (2) 使用引用计数来标识是否有多余指针指 ...
分类:
编程语言 时间:
2019-07-28 17:17:31
阅读次数:
102
迭代器 iterator模式是运用聚合对象的一种模式,可以在不知道对象内部表示的情况下,按照一定顺序访问各个元素。 一般仅用于底层聚合支持类,list、vector、stack、ostream等。 和指针的区别? 迭代器不是指针,是类模板,表现的像指针。 模拟了指针的一些功能,重载了指针的一些操作符 ...
分类:
其他好文 时间:
2019-07-28 16:00:22
阅读次数:
98