windows网络编程

 Winsock是windows系统下利用Socket套接字进行网络编程的相关函数,是Windows下的网络编程接口。       Winsock在常见的Windows平台上有两个主要的版本,即Winsock1和Winsock2。编写与Winsock1兼容的程序你需要引用头文件WINSOCK.H,...

2018-05-31 22:04:10

阅读数:69

评论数:0

c++泛型

什么是泛型编程?简单来说,泛型编程,意思就是针对广泛类型的编程方式。具体类型可以有不同的实现方式,但是针对广泛类型编程,就能在需要调用时才指定参数类型或者调用类型。泛型编程是一种基于发现高效算法的最抽象表示的编程方法。也就是说,以算法为起点并寻找能使其工作并且有效率的工作的最一般的必要条件集。可以...

2018-05-30 16:05:43

阅读数:549

评论数:0

C++中关于set的自定义排序函数的书写

如果说我想在set里面添加一个自定义的类型,比如说下面的结构体:struct Symbol { char name[10]; };1234我们如果要用set来盛放Symbol,我们应该怎么办么?set<Symbol> gSym;1如果像上面这么来...

2018-05-30 16:04:46

阅读数:79

评论数:1

C++98与c++11的新特性

一、新语法1.自动类型推导autoauto的自动推导,用于从初始化表达式中推断出变量的数据类型。 //C++98 int a = 10; string s = "abc"; float b = 10.0; vector<int&am...

2018-05-30 08:48:02

阅读数:104

评论数:0

vector中resize(),reserve()区别

1、resize(n) 调整容器的长度大小,使其能容纳n个元素。如果n小于容器的当前的size,则删除多出来的元素。否则,添加采用值初始化的元素。2、 resize(n,t)多一个参数t,将所有新添加的元素初始化为t。而reserver()的用法只有一种reserve(n)预分配n个元素的存储空间...

2018-05-29 11:54:13

阅读数:28

评论数:0

仿函数优点

1.仿函数可有拥有自己的数据成员和成员变量,这意味着这意味着仿函数拥有状态。这在一般函数中是不可能的。2.每个仿函数有自己的型别。3.仿函数通常比一般函数有更好的速度。...

2018-05-29 09:07:20

阅读数:150

评论数:0

class与namespace的区别

class也是一个名字空间,不过他是封闭的,也就是说你只能在一个文件里面定义class包含什么(通俗点讲,就是一个class只能有一个头文件); namespace是开放的,和class不同的是你可以在多个文件里面象同一个namespace里面添加东西。比如stl里面的东西都是在名字空间std里面...

2018-05-27 10:36:52

阅读数:365

评论数:0

c++ 名称空间

1.定义namespace 名称空间名{  变量类型 变量;  函数返回值类型 函数原型;}  在名称空间作用域内变量、函数原型被称为实体。实体在名称空间外不可见。2.使用1. using申明机制using namespace 名称空间名2. 名称空间名 :: 函数名namespace 是C++中...

2018-05-27 10:36:07

阅读数:766

评论数:0

C++非类型模板参数

非类型模板参看,顾名思义,模板参数不限定于类型,普通值也可作为模板参数。在基于类型的模板中,模板实例化时所依赖的是某一类型的模板参数,你定义了一些模板参数(template<typename T>)未加确定的代码,直到模板被实例化这些参数细节才真正被确定...

2018-05-27 09:35:49

阅读数:64

评论数:0

C++面试题

什么是线程安全?线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。问1:请用简单的语...

2018-05-22 09:41:08

阅读数:19

评论数:0

正则表达式的匹配

class Solution { public: bool isMatch(const char *s, const char *p) { int l1 = strlen(s); int l2 = strlen(p); bool dp[l1+...

2018-05-21 17:11:49

阅读数:17

评论数:0

c++面试题

 堆和栈的区别    一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) ― 一般由程序员分配释放, 若程序员不释放,程序结束时可能由...

2018-05-21 10:29:03

阅读数:15

评论数:0

z字型打印序列

class Solution { public: string convert(string s, int nRows) { vector<string> v; if(s.size()<=0||nRows&am...

2018-05-19 16:49:45

阅读数:55

评论数:0

C++面试题

1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光...

2018-05-19 11:41:22

阅读数:28

评论数:0

分布式负载均衡

1.随机采用随机算法进行负载均衡,通常在对等集群组网中,随机路由算法消息分发还是比较均匀的,但是存在两个主要缺点:在一个截面上碰撞的概率较高非对等集群组网,或者硬件配置差异较大,会导致各节点负载不均匀2.轮询轮询,按公约后的权重设置轮询比率,到达边界之后,继续绕接。他的主要缺点是存在慢的提供者累积...

2018-05-19 09:55:19

阅读数:53

评论数:0

集群负载均衡

12.2 HTTP重定向Web服务器可通过Http响应头信息中的Location标记来返回一个新的URL,浏览器自动去访问这个新的URL。实现:可以通过Web应用程序代码实现你想到的调度策略,如可根据请求的URL的不同来进行合理的过滤和转移。12.3 DNS负载均衡DNS负责将用户请求的域名映射为...

2018-05-19 09:42:04

阅读数:24

评论数:0

分布式系统数据分片

正文  在前文中,提出了分布式系统(尤其是分布式存储系统)需要解决的两个最主要的问题,即数据分片和数据冗余,下面这个图片(来源)形象生动的解释了其概念和区别:    其中数据即A、B属于数据分片,原始数据被拆分成两个正交子集分布在两个节点上。而数据集C属于数据冗余,同一份完整的数据在两个节点都有存...

2018-05-19 09:27:18

阅读数:485

评论数:0

C语言中static用法

(1)第一条也是最重要的一条:隐藏当我们同事编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,举例来说:同时编译2个源文件:a.c和main.c下面是a.c的内容char a = 'A'; // global variableint msg() {    printf(&a...

2018-05-19 09:23:52

阅读数:25

评论数:0

模糊窗口效应 和延迟确认

第一部分:SWSSWS:Silly Window Syndrome 糊涂窗口综合症何谓糊涂窗口综合症  当发送端应用进程产生数据很慢、或接收端应用进程处理接收缓冲区数据很慢,或二者兼而有之;就会使应用进程间传送的报文段很小,特别是有效载荷很小。极端情况下,有效载荷可能只有1个字节;而传输开销有40...

2018-05-19 08:54:22

阅读数:68

评论数:1

最长不重复字符串

给定字符串,查找最长子串的长度而不重复字符。例如,对于“ABCABCBB”,没有重复字母的最长子串是“ABC”,长度为3。对于“BBBB”,最长的子串是“B”,长度为1。/*     "滑动窗口"      比方说 abcabccc 当你右边扫描到abca的时候...

2018-05-18 16:49:08

阅读数:106

评论数:0

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