首页
学习
活动
专区
工具
TVP
发布

cpp加油站

专栏作者
66
文章
63718
阅读量
17
订阅数
【STL源码拆解】forward_list容器插入、删除等是怎么实现的
上篇文章我们介绍了forward_list的整体类实现和构造的实现,知道它其实就是个单链表,本篇文章接着介绍它的插入、删除、去重、反转等操作的实现以及相应的时间复杂度。
cpp加油站
2021-10-14
6660
【STL源码拆解】基于源码分析forward_lsit容器实现(详细!)
本篇文章介绍一下c++11中新增的顺序容器forward_list,基于stl的源码分析一下该容器的整体实现及数据结构。
cpp加油站
2021-09-03
4530
c++11增加的变参数模板,今天总算整明白了
本篇文章介绍一下c++11中增加的变参数模板template<typename... _Args>到底是咋回事,以及它的具体用法。
cpp加油站
2021-08-05
2K0
【deque容器系列二】基于STL源码分析deque容器增删查实现及时间复杂度
本篇文章接上篇,继续基于gcc中stl的源码剖析deque容器插入、删除、取值的实现原理,以提问者的角度去深入分析这些操作过程中发生了什么,并对deque容器适合使用的场景和使用时的注意事项进行说明。
cpp加油站
2021-08-05
9860
基于STL源码分析deque容器整体实现及内存结构
deque容器是stl中顺序容器的一种,之前已经介绍过array和vector了,今天介绍deque容器,deque的本质是一个类模板,它的声明位于头文件bits/stl_deque.h,实现位于bits/deque.tcc,接下来我们就围绕这两个文件来介绍一下deque容器的实现原理。
cpp加油站
2021-08-05
5580
从c++标准库指针萃取器谈一下traits技法
本篇文章基于gcc中标准库源码剖析一下标准库中的模板类pointer_traits,并且以此为例理解一下traits技法。
cpp加油站
2021-07-14
7920
c++中引用面试点7连问以及引用真的不分配内存吗
本篇文章从面试官的口吻连问7个引用有关的问题,并且从汇编的层面上对引用进行深入分析,让你充分理解引用的概念和原理。
cpp加油站
2021-06-29
4580
c++类和继承面试点25连问
c++的三大特性,说白了其实就是面向对象的三大特性,是指:封装、继承、多态,简单说明如下:
cpp加油站
2021-06-29
8790
c++头脑风暴-多态、虚继承、多重继承内存布局
gdb怎么用这里就不展开了,默认你会使用gdb,使用gdb设置打印格式,然后看对象people的内存布局及大小,如下:
cpp加油站
2021-06-29
6080
多年老c++程序员在静态数组这里翻船了
事情是这样子滴,有一次我在代码评审的时候,发现有同事想使用运行时才能够获取到的值,去改变一个静态数组的元素个数,我当时就很诧异,因为我心里知道这样是不可行的,静态数组的元素个数在编译时就需要是固定不变的,一般只能是常量或者宏定义,否则编译就不能通过。
cpp加油站
2021-06-10
3420
三张图带你弄懂STL中内存分配器
还是来先通过思维导图来看一下本篇文章会从哪些方面来讲解stl中内存分配器和萃取器,如下:
cpp加油站
2021-06-07
1.8K0
c++中typename、typedef以及using关键字用法
在c++的标准库中,因为类继承关系比较复杂和模板使用比较多的原因,源代码中充斥着typename、typedef和using这三个关键字,所以在继续剖析标准库源码之前,今天就来介绍一下这三个关键字的作用。
cpp加油站
2021-06-07
8910
超详细STL之基于源码剖析vector实现原理及注意事项
多年以前面试的时候第一次被问到stl中vector的底层实现,那个时候的我真的很low,根本回答不上来,后来面试回来,在网络上搜索了一些vector底层实现,知道了它的底层是动态数组,但光知道动态数组是不够的,进一步的,动态数组写满了怎么办,它的实现用了c++的什么技术,一些特殊场景下怎么使用vector更有效率等等,这些极少有人讲清楚,今天我基于gcc里面的源码来剖析一下这些比较深入的问题。
cpp加油站
2021-06-07
2.3K0
写技术博客的一些想法,你我共勉
到今天为止,公众号也有了51篇原创文章了,其实里面2021年发布的只有18篇文章,其他的都是2019年发布的,尽管目前来讲,成绩还不好,但关于写技术文章,我也算有了自己的一些经验,今天就想从写作平台的选择、写作方式、写文章目的、技术文章内容选择、写文章应有的品德这五个方面说一下自己的一些经历和想法,大家共勉。
cpp加油站
2021-06-07
6040
题解5道c++面试题第一期(含解题思路、答案解析和实现代码)
这题问的是函数的返回值,而通过代码我们能看到返回值的多少取决于x什么时候变为0,而x的值又取决于x&(x-1)这个表达式,在c++中有一个规则,凡是看到&或者|这样的符号,那就把它左右两边的值转换为二进制去计算,假设x是7,转换为二进制是00000111,x-1那就是00000110,那x&(x-1)就变成00000110了,再减一个1,变成00000101,那x&(x-1)就是00000100,所以实际上这个表达式每执行一次,二进制就少一个1,这样的话,这篇题目就转换成了,输入的数字转换为二进制有多少个1,那么返回值就是多少。
cpp加油站
2021-06-07
6060
手写strcpy和memcpy代码实现
本篇文章聊一下strcpy和memcpy的代码实现,这两个也是c和c++面试中常考的问题点。
cpp加油站
2021-06-07
1.1K0
超详细STL之array容器使用及实现原理解析
有些书上说array也是一个class,但是我这个版本看到的是struct,不过没有关系,除了一些细微的方面,struct和class并无太大的区别,这里可以看到array其实就是一个模板类。
cpp加油站
2021-06-07
7190
c++中lambda表达式用法
初次接触lambda这个关键字,记得还是在python里面,但其实,早在2011年c++11推出来的时候我们c++就有了这个关键字啦。lambda表达式是C++11中引入的一项新技术,利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象,并且使代码更可读。
cpp加油站
2021-06-07
1.7K0
最全面的c++中类的构造函数高级使用方法及禁忌
编译后报错:错误:constructors cannot be declared ‘virtual’,可见构造函数是不能声明为virtual的,这与虚函数的机制有关,虚函数是存放在虚表的,而虚表是在构造函数执行完成以后才建立的,构造函数声明为virtual就会陷入到是先有鸡还是先有蛋的尴尬境地,所以编译器做了限制。
cpp加油站
2021-05-17
1.4K0
c++类的构造函数不显式声明会自动生成吗
本篇文章讲解c++11中,类的构造函数种类,以及不显式声明的情况下是否会自动生成。
cpp加油站
2021-05-14
1.1K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档