背景C语言中强制类型转换可以随意转换我们想要的类型,格式如下(类型)变量名,那么为什么C++还要引入新的4种类型转换呢? 1.新的类型转换控制符可以很好的控制类型转换的过程,允许控制各种类型不同的转换. 2.C++的类型转换控制服能告诉程序员或读者我们这个转换的目的是什么. static_cast (content): 静态转换(编译器处理)它主要用于C++中内置的基本数据类型之间 作者:whoamiyang 发表于 2017/02/13 11:34:16 原文链接 https://blog.csdn.net/whoamiyang/article/details/55046495 阅读:644 继续阅读 >>


杨龙飞 17/02/13 11:34:16
什么是哈希表1.哈希表又称为散列表,是根据关键码值(Key value)而直接进行访问的数据结构,也就是说,它通过把关键码值映射到表中的一个位置来访问记录,以加快查找速度,这个映射函数叫做散列函数,存放记录的数组叫做散列表。  记录的存储位置=f(关键字) f是散列函数 这里的对应关系f称为散列函数,又称为哈希(Hash函数), 采用散列技术将记录存储在一块连续的存储空间,这块连续的存储空间称 作者:whoamiyang 发表于 2017/02/10 21:07:12 原文链接 https://blog.csdn.net/whoamiyang/article/details/54974084 阅读:485 继续阅读 >>


杨龙飞 17/02/10 21:07:12
1. 区别 new的功能是在堆区新建了一个对象,并返回该对象的指针,所谓的【新建对象】的意思就是,将调用该类的构造函数,因为如果不构造的话,就不能称之为一个对象。 malloc只是机械的分配了一块内存,如果用malloc在堆区创建一个对象的话,是不会调用构造函数的,严格来说malloc不能算是新建了一个对象,只能说是分配了一块与该类对象大小相同的内存而已,然后强行把它解释为【这是一个对象】,按这个逻 作者:whoamiyang 发表于 2017/02/10 14:54:00 原文链接 https://blog.csdn.net/whoamiyang/article/details/54970485 阅读:420 继续阅读 >>


杨龙飞 17/02/10 14:54:00
1.指针与引用区别 指针是一块内存的地址值,访问变量是间接访问,引用是一块内存的别名,访问变量是直接访问. 引用是一个变量的别名,本身不单独分配自己内存空间,而指针有自己的内存空间. 引用使用时无须解引用(*),指针需要解引用. 引用只能在定义时被初始化一次,之后不可变;指针可变. 引用不能为空,指针可以为空. “sizeof 引用”得到的是所引用的变量(对象)的大小,而”sizeof 指针 作者:whoamiyang 发表于 2017/02/10 11:58:26 原文链接 https://blog.csdn.net/whoamiyang/article/details/54967424 阅读:558 继续阅读 >>


杨龙飞 17/02/10 11:58:26
1.背景RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。2.应用场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式 (1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必须的,它只是一个 作者:whoamiyang 发表于 2017/02/09 23:30:02 原文链接 https://blog.csdn.net/whoamiyang/article/details/54954780 阅读:130373 评论:39 查看评论 继续阅读 >>


杨龙飞 17/02/09 23:30:02
持续计时器假设一种场景:A给B发送数据,如果B告诉A自己的缓冲区已满,于是A停止发送数据,等待一段时间后,B的缓冲区出现了富余,于是给A发送报文告诉rwnd大小为400,但是这个报文不幸丢失了,于是就出现A等待B的通知,B等待A发送数据的死锁状态,为了处理这种问题,TCP引入了持续计时器,当A收到B的零窗口通知时,就启用该计时器,时间到则发送一个字节的探测报文,对方会在此时回应自身的接收窗口大小,如 作者:whoamiyang 发表于 2017/02/09 09:27:02 原文链接 https://blog.csdn.net/whoamiyang/article/details/54943687 阅读:1651 继续阅读 >>


杨龙飞 17/02/09 09:27:02
和TCP三次同步握手不一样的是,TCP关闭连接用四次挥手来实现,即A—–>B Fin,B—->A ACK, B—–>A Fin,A—-B ACK A—-B Fin, B—->A ACK,A属于主动关闭方,收到B的ACK之后,A到B的方向连接关闭,即half shutdown,这时不能再发送数据了. 这种状态下B还是可以单向发送数据的,B的数据发送完毕,也可以做关闭动作了, B——>A Fin 作者:whoamiyang 发表于 2017/02/08 20:16:00 原文链接 https://blog.csdn.net/whoamiyang/article/details/54932488 阅读:2168 继续阅读 >>


杨龙飞 17/02/08 20:16:00
前言本文将介绍常见的9种排序算法,围绕下面几个问题讨论每一种排序算法: 这个算法的思想是什么? 这个算法的稳定性怎样?时间复杂度是多少? 在什么情况下,算法出现最好情况or最坏情况? 这个算法的具体实现? 以下排序算法都以从小到大排序 1.冒泡排序(交换排序)1.1算法思想:排序每次对相邻的两个元素比较,如果它们的相对排列次序与所希望的不符,便交换它们的次序,这样,各元素就会像水中冒气泡一样通过交换 作者:whoamiyang 发表于 2017/02/08 12:46:38 原文链接 https://blog.csdn.net/whoamiyang/article/details/54912459 阅读:353 继续阅读 >>


杨龙飞 17/02/08 12:46:38
1.C++对象模型概述 有两个概念可以解释C++对象模型 1.语言中直接支持面向对象程序设计的部分 包括了构造函数、析构函数、多态、虚函数等等. 2.对于各种支持的底层实现机制 对象模型研究的是对象在存储上的空间与时间上的优化,并对C++面向对象技术加以支持,如以虚指针、虚表机制支持多态机制. 2.理解虚函数表2.1多态与虚表C++中虚函数 作者:whoamiyang 发表于 2017/02/05 11:19:48 原文链接 https://blog.csdn.net/whoamiyang/article/details/54866246 阅读:463 继续阅读 >>


杨龙飞 17/02/05 11:19:48
__thread是GCC内置的线程局部存储设施,存取效率可以和全局变量相比.__thread变量每一个线程有一份独立实体,各个线程的值互不干扰,可以用来修饰那些带有全局性且值可以变,但是又不值的用全局变量保护的变量. __thread使用规则:只能修饰POD类型(类似整型指针的标量,不带自定义的构造、拷贝、赋值、析构的类型,二进制内容可以任意复制memset,memcpy,且内容可以复原),不能修饰 作者:whoamiyang 发表于 2017/01/03 15:34:18 原文链接 https://blog.csdn.net/whoamiyang/article/details/53994959 阅读:647 继续阅读 >>


杨龙飞 17/01/03 15:34:18