cpp加油站 cpp加油站
2年前
c++11增加的变参数模板,今天总算整明白了
本篇文章介绍一下c11中增加的变参数模板template<typename...Args到底是咋回事,以及它的具体用法。说明一下,我用的是gcc7.1.0编译器,标准库源代码也是这个版本的。按照惯例,还是先看一下本文大纲,如下:在之前写vector和deque容器源码剖析的过程中,经常发现这样的代码,如下:cpptemplate<typename..
cpp加油站 cpp加油站
2年前
【deque容器系列一】基于STL源码分析deque容器整体实现及内存结构
本篇文章基于gcc中stl的源码介绍deque容器的整体实现和它的内存结构。说明一下,我用的是gcc7.1.0编译器,标准库源代码也是这个版本的。首先呢,还是看一下思维导图,如下:1.deque容器整体源码实现介绍deque容器是stl中顺序容器的一种,之前已经介绍过array和vector了,今天介绍deque容器,deque的本质是一个类模板,它的
Stella981 Stella981
2年前
C++中string类的正确写法
C的一个常见面试题是让你实现一个String类,限于时间,不可能要求具备std::string的功能,但至少要求能正确管理资源。具体来说:1.能像int类型那样定义变量,并且支持赋值、复制。2.能用作函数的参数类型及返回类型。3.能用作标准库容器的元素类型,即vector/list/deque的
Wesley13 Wesley13
2年前
Java中高级工程师面试精选
    时代在发展,技术在更迭,水涨船也高,我们的面试也发生了重大变化,从区别到原理,从代码到jvm,问题越来越底层,知识越来越基础。1、ConcurrentModificationException是什么,为什么会出现,以及在单线程或者多线程环境下如何解决此问题?假如在多线程中使用Vector可以避免吗。2、HashMap的数据结构是什么,
Stella981 Stella981
2年前
C++:写注释也能影响代码的运行结果??????I was shocked!
最近在复习CPrimer,做第10章的练习10.9时碰见一个诡异的小问题,也算是一个比较难踩的坑吧,这里记录一下。先简单介绍下这个题目,以及解法:这个题目就是要给一个std::vector中的元素去重。首先调用标准库中的sort算法按照字典来排序。然后调用标准库中的unique算法去除相邻重复的元素,但是算法并不会修