- 博客(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教程代码
2018-10-17
如何实现二维/三维地图?
2016-12-11
git乌龟-如何下载某一特定的文件?
2016-11-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人