自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 【朝花夕拾】智能指针使用

智能指针的使用及其原理智能指针的原理智能指针的使用boost库分类及说明使用示例其中的坑C++标注库库分类及使用使用示例其中的坑智能指针的实现原理及代码解析注:本篇耗时较久,先发一部分,每天补一部分如果说C++对新手最不友好的东西是什么的话,那么堆内存绝对排的上号,初级西甲甲开发工程师们在内存泄漏野指针等问题中水深火热中,甚至于西甲甲老手们都不可避免的忘记释放内存,那么智能指针就是挽救你于水火之中的一个好工具,使用智能指针我们可以轻松的使用指针变量而不用担心内存释放问题。智能指针的原理由于对上分配的

2020-08-19 22:34:12 255

原创 【朝花夕拾】C++中操作符的优先级顺序

说实话,我是不大愿意记这个麻烦的顺序的,因此在刷到这类考运算符优先级的题目的时候,总是直接跳过,但是架不住它一直来,个人认为这种操作符优先级相关的题目,除了用来为难程序猿,没有其他的作用了。。。但是,看多了也烦,顺带梳理一把这个操作吧。最后注意,对于乱七八糟的优先级,请一定用括号表明优先级顺序,不然真没眼看。上来直接上cppreference中文官网下面是一个我盗的图…因为我没有装截图工具,直接盗了一个图。直接贴几个自己的总结先,后续刷到题再持续更新1、前++是从右到左结合的,后++是从左到右的,赋值

2020-07-20 23:11:20 1343

原创 【朝花夕拾】bit操作之拯救单身狗

该博客来源于一到LitCode题目https://leetcode-cn.com/problems/single-number/题目详情给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。作为一只单身狗,看到这种题目脑海中浮现的就是在一群情侣中有一只被包围的可怜的单身狗,它深受毒害,被迫吃狗粮吃到吐。我们今天的任务就是拯救这一只单身狗,消灭其中的情侣们!如何消灭他们呢?我们利用bit运算中的异或运算的一个特性来实现它。在二进制运算中异或我们用^

2020-07-19 21:48:24 164

原创 【朝花夕拾】二进制操作的骚操作 --- 计算二进制数中1的个数

在有的场景中我们需要计算二进制位数的个数,比如LitCode中的一些二进制题目中。那么我们就来看下如何求取二进制数中的1的个数。第一反应就是遍历数值中的二进制位,判断相应位数是否为1,若为1则累加。以下代码使用到与运算的特性:由二元运算规则1 & A = A0 & A = 0得:假定 数值序列 A = {a1,a2,...,aN,..,a32} 其中 a 取值为 0 或 1数值序列 B = {0,0,...,1,...,0},其中 aN = 1, 其他为 0A & B

2020-07-19 21:07:01 234

原创 【朝花夕拾】C++ string的写时拷贝机制以及容易出现的问题

上一篇我们分析了VS2008下的stl string的代码,现在我们分析下g++下的stl string 的代码。首先我们来看下他的内存增长策略:代码很简单,执行结果如下:可以看到gcc stl就是和我之前面试的时候说的那样,简单粗暴的倍增策略进入正题,本次实验使用g++编译器,用于测试C++ string的写实拷贝机制先看一段代码:void testStringCo...

2019-01-19 16:50:33 297

原创 [朝花夕拾]C++ string 内存增长策略

  朝花夕拾系列缘起时光荏苒,转眼已经毕业三年多了,而在这三年中,自己得过且过,在技术上45并无长足的长进,并且还把以往学过的知识忘记的差不多了,因此有了这个朝花夕拾的系列。寄希望于在写这些文档的同时,加深自己对C++技术的认识,并且建立梳理下自己的知识体系。今天算是这个系列中的第一期,先剖析下C++ STL 的string类的内存增长策略,这个问题经常在面试的时候被提及,我一般都...

2019-01-19 15:51:29 1576

原创 bitset的一个简单实现

bitset的一个简单实现最近有一个上亿的数据(数据较平均,重复量较小)进行排重的需求,综合考虑了各种方案,最后想到了一个简单的方案: 假设有1亿条数据需要排重,每条数据的关键字有40个字节,考虑使用hash_map,但是放入内存的话需要的内存最少为100000000 * 40 / 1024 / 1024 / 1024 = 3.7252902984619140625 G这是不能被接受...

2018-07-19 23:12:33 1188

原创 IAccessiable的学习和使用

前几天听群里大神讨论IAccessiable借口,于是动念学习一下。打开百度,输入IAccessiable,得到一大堆的词条,仔细看就可以搞懂IAccessiable到底是个什么东东。以下摘自MSDN的一段描述: The IAccessible interface and all of its exposed members are part of a managed wrapper fo

2016-04-07 22:24:06 3799 2

原创 【朝花夕拾】C语言-空白与注释

从严格意义上来说,C语言并没有如Python那样严格的缩进限制,所以你可以很自由的编写你的代码。但是,那样会导致你的代码可读性非常差,当你的程序出现了BUG,想要调试的时候,你会发现自己都不知道自己写的是什么了。因此一个良好的编码习惯显得尤为重要,不为了别人,就为了我们自己能够很好的DEBUG,我们也应该养成一个良好的编码习惯。一、合理的使用注释注释分为行注释和块注释,所有的注释都会被预处

2015-12-21 20:33:40 1063

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除