一个驾驶证的一生

    大家好,我是茫茫驾驶证家族中的普通的一员,同我的主人一样。我出生于江西南昌交警大队,我的生日是9月15号。我依然记得,那是一个明媚的夏天,南昌的空气中都充满了热气,街道上充斥着空调们工作的呼哧呼哧的声音。就是在这样的大背景下,我诞生了。我睁开眼,看到的是这么一个他:双眼闪着光,嘴唇张的大大的,胡子凌乱的长在下巴上,头发乱的像鸟窝一样,所幸毛发不多,鸟无法在上...

《白鹿原》读后感

白家鹿家的两个大家族在动荡的岁月,因为家主品行的不同,走向了不同的结局。死是白鹿原的主旋律,贯穿全文,以白家轩的前六任老婆的死开幕,又以鹿子霖的死完美谢幕。鹿子霖死的让人唏嘘,他做了那么多坏事,如果是被批斗死,会觉得是大快人心,可是最后是疯疯癫癫,以致被冻死,...

回首自己面试中遇到的关于c++的面试题

经过跨度比较长的一段时间的面试,经历了腾讯、京东、迅雷等的一些面试,当然最终都还是跪了,不过还是记录下自己面试中或者笔试中遇到的一些问题,及自己觉得应该加强的地方。 网络编程方面 ...

头文件定义的类与so中同名类的大小不同导致的奇葩问题

昨天晚上临下班之际,终于把程序编译成功了。开开心心的运行,结果,遇到了神奇的bug,接下来花了n个小时去解决这个神奇的bug。     下面是我调试的时候,对奇葩问题的截图。            &nbs...

如何实时查看tcp的发送缓冲区和接收缓冲区堆积的大小

对于发送缓冲区和接收缓冲区的总的大小,我们可以使用套接字选项分别获得。 ...

wireshark中的TCP window Full

TCP window Full,直接看名字,就是提示tcp的窗口已满,主要是用于发送方告知接收方,发送完这份数据后,窗口已满。那么,发送方怎么知道接收方的窗口已满呢??很简单,因为发送方知道接收端此时的窗口大小是多少,然后根据本次要发送的数据,就可以确认,窗口是否已满。 TCP zero window,TCP窗口为空。这...

内联产生的奇怪问题

今天在写代码时,遇到个因为内联而产生的奇怪问题。代码如下: ...

boost中使用Asio,对端关闭时回调函数被调用两次的问题

在使用boost的asio实现异步网络服务器时,对每一个连接的socket注册回调函数。当对端关闭时,本地的读回调函数得到调用,在关闭socket之后,读回调函数再次得到调用。网上查了下资料,发现这类的中文资料不多,而英文的资料,针对的也不是出现这个问题的描述。所以在这里做个记录。     来源于...

关于RepeatedPtrField从何时开始支持erase

今天在使用repeated的时候,有一项需求,遍历的时候删除repeated数组里面的元素,查了下protobuf的文档,发现有个同STL中的迭代器一样的erase方法。就在自己的项目中使用了下。结果发现,我的protobuf中,没有erase这个方法。就猜想很可能是版本问题。谷歌了下,还真的是。     protobuf 2.6的版本中,...

STL中vector迭代器老调重弹的失效问题

    我们都很了解,STL中迭代器遍历的时候,有个很严峻的问题,失效。但是,我们一直没有对失效下过严格的定义。最早,接触迭代器失效时,是从别人的博客上了解的。当时对整体也没一个明确的概念,只是看博客上写了插入的时候可能会失效,就这么记下了。到现在,自己看了STL中插入的源码,才开始了解,插入的时候,迭代器失效是个什么原因。 插入时迭代器...