
杂七杂八问题的自我安慰
不动心、
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
迭代和递归的区别
看到有面经提到了这道题,之前简单想了下,拿二叉树前序遍历来说,迭代和递归本质上都用到了栈,只不过后者用的是进程栈,所以速度比较慢,因为这个栈中还要存返回地址、局部变量和寄存器等。 但是今天又反应了以下,二者的差别不仅仅是速度的问题,在C++中,迭代使用的栈是标准库提供的,是配接器,底层使用的是vector,而vector的数据是存在堆上的(通过标准库的allocator分配空间);而如果是递归,使用的是栈区,比堆小很多,如果递归次数过多,造成栈帧太多,很容易栈溢出。所以迭代能比递归进行更多的层数。 ...原创 2021-07-05 21:01:39 · 283 阅读 · 0 评论 -
单例模式中的那些静态变量:静态成员和局部静态变量的区别
在网上看到Meyers提出的线程安全的单例模式,有点搞不懂其中的原理。 Meyers提出的单例模式的代码: #include <iostream> class Singleton { public: ~Singleton(){ std::cout<<"destructor called!"<<std::endl; } Singleton(const Singleton&)=delete; Singleton&原创 2021-06-03 00:22:31 · 1193 阅读 · 4 评论