
c++primer5th的示例程序
文章平均质量分 92
Zacky_ran
keep learning.
展开
-
C++Primer 文本查询程序再探
C++Primer 文本查询程序再探C++ Primer 5th 示例程序拓展之前的简单文本查询程序,使得其可以进行一些逻辑查询,形如:Query q= Query(“fiery”) & Query(“bird”) | ~Query (“wind”)主要熟悉面向对象的解决方案#include "pch.h"#include <iostream>#include ...原创 2019-04-14 23:25:00 · 792 阅读 · 1 评论 -
C++ primer 5th 实现Blob及其伴随类的模板
C++ primer 5th 课后练习熟悉模板的编写将之前的StrBlob极其伴随类改写成模板 支持多种类型其中Blob的数据成员是shared_ptr<vector> 多个对象共享一个vetorBlobPtr和ConstBlobPtr分别是Blob的非常量、常量的自定义迭代器//16.12 16.13 编写自己版本的Blob和BlobPtr模板 并为BlobPtr的相等和关...原创 2019-04-18 10:28:57 · 731 阅读 · 1 评论 -
C++ 随机数引擎
梳理一下C++随机引擎的相关知识。核心知识点是:引擎会返回相同的随机数序列的理解。(可以理解为标准库random中的所有引擎对象无论何时都返回一个同样的、固定的、无限多元素的伪随机数序列)Q: 为什么我们应该把引擎声明为static的?A: 可以把每个引擎想象成在一个已生成好的随机序列上的迭代器,每次使用分布类型时就会推进这个迭代器。因此,这也就解释了为什么badRand和goodRand的区...原创 2019-04-27 15:46:10 · 1087 阅读 · 0 评论 -
C++ primer 5th 实现一个类似vector的简易Vec<T>模板
C++ primer 5th 课后习题将以前的StrVec类重写为模板可以实现vector的一些操作//16.16 将StrVec类重写成模板 命名为Vec//前置声明//.htemplate <typename T> class Vec;template <typename T> bool operator==(const Vec<T>&...原创 2019-04-18 23:44:51 · 467 阅读 · 0 评论 -
C++primer 5th 实现自己版本的make_shared(以及C++14的make_unique)
课后习题 实现自定义版本的make_sharedmake_shared是如何工作的:make_shared应该是一个可变参数模板函数,它将接收的所有参数转发给shared_ptr的构造函数 然后返回一个shared_ptr指针的副本//返回std::shared_ptrtemplate <typename T, typename... Args>shared_ptr<T&...原创 2019-04-24 11:13:30 · 597 阅读 · 0 评论 -
C++primer 5th 类似shared_ptr和unique_ptr的简易模板的实现
C++ primer 5th 课后习题 --实现自己版本的shared_ptr和unique_ptr行为像指针的类都可以像这样进行类比定义,可以自动管理动态内存,无需自己delete不用再担心悬挂指针、内存泄漏或对同一内存区域两次delete之类的错误但是注意:无论是shared_ptr还是我们自己实现的类模板my_shared_ptr都存在循环引用时(比如用于双向链表时),依然导致内存泄漏...原创 2019-04-19 23:42:10 · 374 阅读 · 0 评论