自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (7)
  • 问答 (2)
  • 收藏
  • 关注

原创 对交换机和路由器的浅显认识

交换机交换机工作在数据链路层,用来连接同一个子网内的主机设备。同一个子网是指子网号相同并使用双绞线、集线器、交换机连接的主机设备。交换机没有Mac地址,其功能就是将收到的数据包(Mac头部+IP头部+TCP头部+数据)转发到指定的主机。交换机自动维护一个映射表,用来匹配端口号和Mac地址。交换机不会修改数据包的内容。路由器路由器工作在网络层,可以连接不同子网的主机设备。家用普...

2019-08-13 21:58:12 715

原创 基于Win32的不规则透明窗口(模拟win7气泡屏保)——透明气泡的实现

通过win32 API模拟透明气泡。先看效果:源代码下载:https://download.csdn.net/download/qq_35553864/10656109

2018-09-10 09:44:56 987

原创 可变参数模板--案例7(通过组合方式实现tuple)

/******************************************** Name:      example7.cpp* Describe:  可变模板参数实例7* Author:    SSCOCA* Version:   1.00* Date:      2018年8月9日* Other:************************************...

2018-08-20 20:00:09 318

原创 可变参数模板--案例6(自定义tuple)

自定义可以存储任意类型任意数量的tuple对象。/******************************************** Name:      example.cpp* Describe:  可变模板参数实例6-递归类* Author:    SSCOCA* Version:   1.00* Date:      2018年8月9日* Other:*******...

2018-08-20 19:58:40 324

原创 可变参数模板--案例5(打印tuple对象)

通过可变模板参数打印tuple对象。 /******************************************** Name:      example.cpp* Describe:  可变参数模板实例5* Author:    SSCOCA* Version:   1.00* Date:      2018年8月9日* Other:**************...

2018-08-20 19:53:01 272

原创 可变参数模板--案例4(支持多个参数的max函数)

在案例3中,我们使用initializer_list可以实现支持多个参数的max函数。下面我们将使用可变参数模板实现。上代码:/******************************************** Name:      example.cpp* Describe:  可变模板参数实例5* Author:    SSCOCA* Version:   1.00* ...

2018-08-20 19:48:47 1043

原创 可变参数模板--案例3(实现任意数量的参数的比较函数)

C++11中新增了initial_list特性,下面将基于initial_list实现任意数量的参数的比较函数。上代码:/******************************************** Name:      example.cpp* Describe:  可变模板参数实例3-基于initial_list的比较(不是可变模板参数)* Author:    S...

2018-08-20 19:44:48 449

原创 可变参数模板--案例2(实现自己的printf)

利用可变模板参数自定义printf函数,直接上代码。 /******************************************** Name:      example2.cpp* Describe:  可变模板参数实例2:重写printf* Author:    SSCOCA* Version:   1.00* Date:      2018年8月9日* Oth...

2018-08-20 19:37:01 349

原创 可变参数模板--案例1(打印输入)

     可变参数模板是C++11的重要特性。可变参数模板可以分为参数个数可变,参数类型可变。可变参数模板可以利用在函数模板和类模板上。可变参数模板函数一般采用递归展开的方式。可变参数模板类可以采用递归展开、递归继承、递归复合三种方式。下面将给出一个基于可变参数模板的打印函数,该函数可以打印任意个输入参数。 //递归终止函数void print(){} //可变参数模板函数...

2018-08-10 14:32:08 362

原创 深入学习STL(7)--容器使用总结

各个容器的优缺点 容器类型 优点 缺点 vector 支持随机访问,访问效率高(常数时间) 迭代器运算效率高 1)插入删除效率慢 2)不支持在头部push和pop deque 头部和尾部插入效率高(常数时间) 支持随...

2018-07-17 17:47:09 211

原创 深入学习STL系列(6)--map和multimap

map   map的特性是,所有元素都会根据键值自动排序。map的所有元素都是pair,同时拥有实值(value)和键值(key)。pair的第一元素被视为键值,第二元素被视为实值。map不允许两个元素拥有相同的键值。   map和list具有某些相同的性质:当客户端对其进行元素新增操作或删除操作时,所有迭代器依然有效,当然,被删除的元素迭代器除外。创建mapmap<int,...

2018-07-17 16:40:54 183

原创 深入学习STL系列(5)--set和multiset

关联容器   标准的STL关联容器分为set(集合)和map(映射表)两大类,以及衍生的multiset(多键集合)和multimap(多键映射表)。这些容器的底层机制是由RB-tree(红黑树)实现。RB-tree也是一个独立的容器,但是不对外开放。此外,其它非标准关联容器还有基于hash-table底层机制的hash_set(散列集合)和hash_map(散列映射表)、hash_multi...

2018-07-17 16:38:39 586

原创 深入学习STL系列(4)--deque

Ø  deque    vector是单向开口的连续线性容器,deque是双向开口的连续线性容器,也就说可以在头尾两端分别做元素的插入和删除操作,vector也可以在头部利用insert进行插入操作,但其效率极差,无法接受。deque与vector的最大差别,一在于deque允许常数时间内队头部进行插入和移除操作,二在于deque没有容量(capacity)的概念,因为它是以分段的连续空间组合而成...

2018-07-12 19:06:54 197

原创 深入学习STL系列(3)-- list

Ø  list    list是一种双向链表,不同于vector的连续内存存储,它在内存中以节点的形式存在,每个节点都存着指向上下节点的指针。下面我们将以存储int型元素的list为例,仔细讲解如何使用list。---创建list---list<int> il;            //方式1,构建一个空的容器对象list <int> ivl(2, 9);  //方式2...

2018-07-12 10:21:16 192

原创 深入学习STL系列(2)-- vector

    如果容器是你对STL的唯一印象,说明你利器(STL)在手而未能善用。容器可以分为序列容器(Sequential Containers)和关联容器(Associative Containers)。下面我们将从创建、插入、删除、查看五个方面演示如何使用容器。序列容器序列容器中常见的vector、list、deque、priority-queue等。Ø  vector    vector和数组很...

2018-07-12 10:13:36 176

原创 深入学习STL系列(1)--开篇

1.   STL介绍STL是Standard Template Library的简称,中文名标准模板库。STL是C++的一部分,因此不用安装额外的库文件。STL常见版本有HP STL、PJSTL、 SGI STL等。STL的价值体现在两个方面。从低层次来说,STL为我们提供了一套极具实用价值的零部件,以及一个整合的组织;从高层次来说,STL为我们展示了一种以泛型思维为基础、模块化的、条理分明的软件...

2018-07-12 10:07:37 301

原创 线程池原理和简单实现

1.    为什么需要线程池当我们的程序需要同时处理多个业务的时候,我们就需要使用多线程来进行编程。尤其界面程序,如果采用单线程,当点击UI控件后,如果事件处理函数耗费较长时间,就会照成UI卡死无法继续响应的情况。此外,如果程序需要不断地进行I/O操作等耗时操作时,也可以将其放入一个专门的线程中。上述中我们谈到了线程的作用。线程是CPU调度程序的最小单元,CPU通过调度机制分配给每个线程时间片,从...

2018-07-10 15:54:14 781

原创 Socket端口复用的例子

1.Socket复用的基本知识       socket的通信流程就不再赘述了。那么我们再仔细想一想,操作系统如何区分一个socket的呢?那就是:发送方IP、发送方Port、接收方IP、接收方Port、通信协议(Tcp/Udp),这也被称为五元素。由这五个元素,我们就能知道为什么Tcp服务端的socket的端口号都相同而且能准确收发数据。         举个列子,如果在一个客端端程序中创建两个...

2018-06-29 21:14:34 5646

原创 Android 服务保活的尝试

 最近想做一个关于后台定位的App,需要后台持续定位,所以就想到了使用Service进行定位服务,我的手机型号是华为Honor7。碰到以下问题:1)如何做到开机自启动?在Android6.0以后,已经无法再接受到系统开机广播了,所以还没找到好的办法,除非有别的App救你一把,给你发个广播。2)当退出界面后如何保活?遍历各种网页,众说纷纭,主要有以下办法:---提高优先级,变为前台服务     优点...

2018-06-12 22:38:28 285

原创 Java新手编程入门

1) Java是什么       Java是一门面向对象编程语言,吸收了C++语言的面向对象特点,但摒弃了C++里难以理解的多继承、指针等概念,功能强大并且简单易用。2)Java与C++有什么区别?        (1)编译运行方式:Java项目源代码通过编译器生成.calss文件而不是机器语言代码,意味其不能在电脑直接运行,必须通过JVM环境解释才能运行,也就

2017-10-18 10:36:22 7864

Opengl配置库大全和Nehe教程代码

1)全套的OpenGL配置库文件,glu32.dll、opengl32.dll、glut32.dll、glaux.lib等。2)nehe教程代码

2018-10-17

炫彩气泡--win32实现透明不规则窗口

模拟实现Windows的气泡屏保,利用win32 API实现透明气泡效果,气泡效果没有Windows的美观,但是也足够好看。

2018-09-10

C++标准库API

C++标准库函数手册,快速查询函数的使用和应用技巧。包含STL容器和算法。

2018-07-21

openGL编程指南

《OpenGl 编程指南》第八版, 有目录, 学习OpenGl的好书!

2017-10-18

计算机是怎样跑起来的

< 计算机是怎样跑起来的>主要讲述了计算机的运行原理。生动活泼,适合想了解计算机原理的人士。

2017-08-01

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

TA关注的人

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