C++
文章平均质量分 64
阿卡阿卡
哎...
展开
-
Socket端口复用的例子
1.Socket复用的基本知识 socket的通信流程就不再赘述了。那么我们再仔细想一想,操作系统如何区分一个socket的呢?那就是:发送方IP、发送方Port、接收方IP、接收方Port、通信协议(Tcp/Udp),这也被称为五元素。由这五个元素,我们就能知道为什么Tcp服务端的socket的端口号都相同而且能准确收发数据。 举个列子,如果在一个客端端程序中创建两个...原创 2018-06-29 21:14:34 · 5632 阅读 · 0 评论 -
可变参数模板--案例7(通过组合方式实现tuple)
/******************************************** Name: example7.cpp* Describe: 可变模板参数实例7* Author: SSCOCA* Version: 1.00* Date: 2018年8月9日* Other:************************************...原创 2018-08-20 20:00:09 · 308 阅读 · 0 评论 -
可变参数模板--案例6(自定义tuple)
自定义可以存储任意类型任意数量的tuple对象。/******************************************** Name: example.cpp* Describe: 可变模板参数实例6-递归类* Author: SSCOCA* Version: 1.00* Date: 2018年8月9日* Other:*******...原创 2018-08-20 19:58:40 · 309 阅读 · 0 评论 -
可变参数模板--案例5(打印tuple对象)
通过可变模板参数打印tuple对象。 /******************************************** Name: example.cpp* Describe: 可变参数模板实例5* Author: SSCOCA* Version: 1.00* Date: 2018年8月9日* Other:**************...原创 2018-08-20 19:53:01 · 263 阅读 · 0 评论 -
可变参数模板--案例4(支持多个参数的max函数)
在案例3中,我们使用initializer_list可以实现支持多个参数的max函数。下面我们将使用可变参数模板实现。上代码:/******************************************** Name: example.cpp* Describe: 可变模板参数实例5* Author: SSCOCA* Version: 1.00* ...原创 2018-08-20 19:48:47 · 1026 阅读 · 0 评论 -
可变参数模板--案例3(实现任意数量的参数的比较函数)
C++11中新增了initial_list特性,下面将基于initial_list实现任意数量的参数的比较函数。上代码:/******************************************** Name: example.cpp* Describe: 可变模板参数实例3-基于initial_list的比较(不是可变模板参数)* Author: S...原创 2018-08-20 19:44:48 · 443 阅读 · 0 评论 -
可变参数模板--案例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 · 341 阅读 · 0 评论 -
可变参数模板--案例1(打印输入)
可变参数模板是C++11的重要特性。可变参数模板可以分为参数个数可变,参数类型可变。可变参数模板可以利用在函数模板和类模板上。可变参数模板函数一般采用递归展开的方式。可变参数模板类可以采用递归展开、递归继承、递归复合三种方式。下面将给出一个基于可变参数模板的打印函数,该函数可以打印任意个输入参数。 //递归终止函数void print(){} //可变参数模板函数...原创 2018-08-10 14:32:08 · 354 阅读 · 0 评论 -
深入学习STL系列(4)--deque
Ø deque vector是单向开口的连续线性容器,deque是双向开口的连续线性容器,也就说可以在头尾两端分别做元素的插入和删除操作,vector也可以在头部利用insert进行插入操作,但其效率极差,无法接受。deque与vector的最大差别,一在于deque允许常数时间内队头部进行插入和移除操作,二在于deque没有容量(capacity)的概念,因为它是以分段的连续空间组合而成...原创 2018-07-12 19:06:54 · 185 阅读 · 0 评论 -
深入学习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 · 186 阅读 · 0 评论 -
深入学习STL系列(2)-- vector
如果容器是你对STL的唯一印象,说明你利器(STL)在手而未能善用。容器可以分为序列容器(Sequential Containers)和关联容器(Associative Containers)。下面我们将从创建、插入、删除、查看五个方面演示如何使用容器。序列容器序列容器中常见的vector、list、deque、priority-queue等。Ø vector vector和数组很...原创 2018-07-12 10:13:36 · 170 阅读 · 0 评论 -
深入学习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 · 290 阅读 · 0 评论 -
深入学习STL(7)--容器使用总结
各个容器的优缺点 容器类型 优点 缺点 vector 支持随机访问,访问效率高(常数时间) 迭代器运算效率高 1)插入删除效率慢 2)不支持在头部push和pop deque 头部和尾部插入效率高(常数时间) 支持随...原创 2018-07-17 17:47:09 · 198 阅读 · 0 评论 -
深入学习STL系列(6)--map和multimap
map map的特性是,所有元素都会根据键值自动排序。map的所有元素都是pair,同时拥有实值(value)和键值(key)。pair的第一元素被视为键值,第二元素被视为实值。map不允许两个元素拥有相同的键值。 map和list具有某些相同的性质:当客户端对其进行元素新增操作或删除操作时,所有迭代器依然有效,当然,被删除的元素迭代器除外。创建mapmap<int,...原创 2018-07-17 16:40:54 · 175 阅读 · 0 评论 -
深入学习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 · 570 阅读 · 0 评论 -
线程池原理和简单实现
1. 为什么需要线程池当我们的程序需要同时处理多个业务的时候,我们就需要使用多线程来进行编程。尤其界面程序,如果采用单线程,当点击UI控件后,如果事件处理函数耗费较长时间,就会照成UI卡死无法继续响应的情况。此外,如果程序需要不断地进行I/O操作等耗时操作时,也可以将其放入一个专门的线程中。上述中我们谈到了线程的作用。线程是CPU调度程序的最小单元,CPU通过调度机制分配给每个线程时间片,从...原创 2018-07-10 15:54:14 · 768 阅读 · 0 评论 -
基于Win32的不规则透明窗口(模拟win7气泡屏保)——透明气泡的实现
通过win32 API模拟透明气泡。先看效果:源代码下载:https://download.csdn.net/download/qq_35553864/10656109原创 2018-09-10 09:44:56 · 970 阅读 · 0 评论