logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

为什么auto_ptr智能指针不能作为STL标准容器的元素

上个星期的博客shared_ptr源码剖析里其实遗漏了一个问题:为什么auto_ptr不可以作为STL标准容器的元素,而shared_ptr可以? 我在网上看了好多篇讲shared_ptr的文章里讲到了这个问题,不过大多文章只是简单两笔带过。我研究了一下这个问题,发现还是有挺多有价值的内容,所以把这个问题单独成一篇博客和大家分享。先从表象上看看这个问题,假如有这样的一段代码,是否能够运行?int

在c++中一个空类占用的字节数

结论: 在c++中一个空类占用:1Byte。有的同学认为一个空类占0Byte,那么定义一个空类时,他存放到哪里呢?为此,在c++编译器中,为空类设置了占用1Byte内存。#include <iostream>// std::coutclass Base {};class Point {private:int circle;};int main () {Base b;Point p;st

#c++
notify_one() 或 notify_all() 在c++中的使用要点

notify_one() 或 notify_all() 如果在锁(mutex spin_lock)里调用,可能会导致被立刻唤醒的线程继续阻塞,因为锁被notify线程持有。c++标准上说,一些实现(尤其是许多 pthread 的实现)为了归避这种情况,在通知调用中,直接将等待线程从条件变量队列转移到互斥队列,而不唤醒它,来避免此"hurry up and wait"--急于求成 的场景官方文档:

哈希(hash)表查找速度为什么那么快?快在哪里了?

先看数组存储数据是怎么样的。现在有一个数组,它里面每个单元存储的是数据的地址这叫指针数组吧,假设它有100个单元我们称他为p[100]现在我想把一百个数据(地址)放到里面我们想把某个数据放到p的第几个单元完全是由我们决定的,可以说想怎么放就怎么放是一种乱放,既然是乱放,那么查找起来就比较耗时。哈希表是怎么存储数据的呢?哈希表同样是一个指针数组。同样需要...

Linux下共享内存的查看和释放

说明:1、查看共享内存,使用命令:ipcs -m2、删除共享内存,使用命令:ipcrm -m [shmid]使用如下:[plain] view plain copy[negivup@negivup mycode]$ ipcs -m                         查看共享内存区    ------ Shared Memory Segments --------  key      

MinGW与MSVC编译的区别

本人使用的是QT5.6,当时我们选择下载的是第一个VS2015版本,也就是通过MSVC方式编译。我们来对比一下这两个编译器的区别:MSVC是指微软的VC编译器MinGW是指是Minimalist GNU on Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windo

vector中的reserve() 与 resize()

resize()与reserve()都是vector容器中的方法:resize():改变了capacity()和size()reserve():增加了vector的capacity(),但是它的size()没有改变#include &lt;iostream&gt;#include &lt;stdio.h&gt;#include &lt;vector&

std::vector中resize()和reserve()区别

在STL容器中vector用的还是比较多的,但是在使用时,会对resize()和reserve()的使用产生迷惑,现在就对这一情况做个对比:resize():改变的是size()与capacity()的大小(1)、比原来的变小之后,后面的会被截断(2)、比原来的变大之后,后面的会被填充新的东西,不同的编译器可能会不同。也可以自己指定后面填充的内容reserve():改变的只是...

git命令:修改已经commit的注释

在使用git命令时,有时commit后,突然想起来忘记修改commit的注释。修改commit的注释使用下面的命令:git commit --amend本人也是最近2周才开始使用git,有些也理解不到位,在工作中实操之后记录下来,工作环境linux ubuntu。一个工作中用到的例子如下:(1)、先是$ git log看下当前的信息:显示commit的信息是:Bug #865: ** check

    共 14 条
  • 1
  • 2
  • 请选择