STL源码解析(初读源码)
文章平均质量分 71
可爱一只小小鱼
找到下一个你!
展开
-
浅谈std::enable_shared_from_this
问题背景:用过enable_shared_from_this的基本都知道,要正常使用这个类,生成的对象必须由智能指针管理.那为何一定要用智能指针呢?网上很多,基本讲的都是因为:如果不用智能指针,作为基类的enable_shared_from_this<A>没有初始化,生成的对象没有计数器,那它又是如何与智能指针关联起来的呢?代码:书上的代码,引出问题点;没啥其它特别的用处#include <iostream>#include <memory...原创 2021-07-28 22:20:50 · 567 阅读 · 0 评论 -
STL之浅谈std::conditional
问题背景:为什么有三元运算符了,std还要实现诸多类似std::conditional的模板呢?结论:完全实例化(展开)问题,避免模板编程带来的空间开销初步探索:首先来看下测试用例的代码#include <iostream>//#include <type_traits>//struct conditionalusing namespace std;/*********************** v=a*(a-1)*(a-2)*...*1;***原创 2021-03-07 22:38:46 · 1135 阅读 · 2 评论 -
STL源码解析之tuple
问题:struct tuple的实现原理(这个部分之关于模板的,只要模板基础可以,我觉得读懂应该没啥问题,我对模板知识掌握的不够牢固,不能完全确定,就做了个测试来解决)下面是源码中的模板定义和部分实例化。(测试的结论我放代码里面了)(注:有新的收获会再修改,也欢迎大家一起讨论和指教。改于2019/7/1) /** * Contains the actual implementati...原创 2019-07-01 21:45:19 · 429 阅读 · 0 评论