自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

南的专栏

做事不难,难在起步;编程不难,难在坚持

  • 博客(13)
  • 资源 (8)
  • 收藏
  • 关注

原创 stl中hash_set的使用

在hash_set中,元素不会被排序下面这个例子中,hash_set的EqualKey必须有特别的设计,不能沿用equal_to,因为此例中的元素是c风格字串,而c风格字串必须使用strcmp来进行比较下面是具体源码:#include #include #include using namespace std;struct eqstr{ bool operator()(

2015-05-20 09:24:39 5923

原创 stl中map的使用

map与set类似,都是一个关联式容器,但是与set不同的是他键值分离的,key,value 结构,在map结构中元素是不允许重复的。在学习的过程中,我们需要主要一些问题:就是在关联式容器中,当数据很大的时候,使用其中的查找算法是很快速的,应该使用其提供的函数来实现查找函数等等高,会比使用stl中的算法find更有效率,因为STL中的find算法知识循环搜寻具体例子使用源码如下:#

2015-05-18 10:42:49 443

原创 stl中set的使用

在STL中经常会使用到Set,以及它的相关类 Mutileset 以及基于  散列表(hash table)的hash_set , 还有一系列无序容器等,这些容器都有一个特点,不同于map,他是键也是它的值,反之也是。set是基于红黑树来实现的,红黑树由于在Stl中是不对外提供接口的,所以只有去看源码剖析才能分析到他的具体实现,它建模是一个平衡二叉树。其实在实际应用中也不会去考虑stl源码的实

2015-05-18 10:28:43 496

原创 stl中lis的使用

在stl中,list是实现是采用双向链表来实现的,具体结构如下:list的节点结构如下templatestrcut __list_node{typedef void* void_pointer;void_pointer prev;void_pointer next;T Data;}定义了上面那样的一个双向链表结构,然后在list类中有关于这个结构的插入删除等

2015-05-15 16:46:14 518

原创 STL中vector使用

#include #include #include using namespace std;int main(){ int i; vectoriv(2, 9); cout << "Size = " << iv.size() << endl; cout << "capacity = " << iv.capacity() << endl; iv.push_back(1);

2015-05-15 16:30:29 389

原创 在MFC中使用WinInnet通过http从读取网页信息

具体实现源码如下:void CMFCApplication1Dlg::OnBnClickedBtnCheck(){ // TODO: 在此添加控件通知处理程序代码 CInternetSession httpSession; CString Line; CInternetFile * Webfile = nullptr; UpdateData(TRUE); if (m_ed

2015-05-15 15:23:32 1047

原创 在MFC中实现拖拽文件到对话框中的编辑控件中

这次我学习了如何将文件拖拽到对话框的编辑控件中,具体如下:要实现这个功能,首先要重载CEdit类,定义个派生类CDragEdit类,并重载他的WM_CREATE方法,在其中添加DragAcceptFile(TRUE);方法然后利用类向导为CDragEdit类添加WM_DROPFILE消息响应函数:代码如下:void CDragEdit::OnDrop

2015-05-15 12:24:15 4226

原创 c++中重载<<操作符

在类定义中,有时候我们需要直接利用cout来打印出类中的数据,此刻就需要重载假定定义了一个类Time然后声明了一个类 Time a;cout这样的语法肯定是会报错的,此刻就需要重载operator要怎么做呢? 首先,在重载函数中,要访问到类Time中的私有成员的数据,所以我们需要定义这个函数为类Time的友元函数,具体如下class Time{friend std:

2015-05-11 10:50:12 4249

原创 c++中对象,继承的引用

在c++中在传递一个父类引用的参数的时候,可以传递一个子类的实参进去,这也是继承中的一些特点,意味着子类可以使用父类的特点具体例子入下:// TheRefOfc++.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include using namespace std;void fi

2015-05-10 12:15:27 963

原创 c++中函数中将引用用于类对象

在c++的引用学习中,遇到一些问题,比如返回成员函数内部变量的引用,这个变量会在函数声明周期结束的时候就被析构,然后返回了这个变量的引用就会出现一个错误的内存的引用,具体例子入下:// TheRefOfc++.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;s

2015-05-10 11:50:18 700

转载 算法复习-----------利用列队解决电路布线问题

首先什么是电路布线问题呢?电路布线问题是类似于迷宫的问题,也是一个模拟矩阵,迷宫是每个点有8个方向可以走,但是在电路布线问题中每个点上只有上下左右4个方向可走。因为电路布线不允许对角线上布线,并且电路布线问题要求线路所走过的路程必须是最短的,即从出发点到目的点路径很可能有很多,要找的是经过跳数最少的那个。也就是说不能太多的弯儿,能直走的就直着走。迷宫问题是只要找到出路,不管路径是如何的。在

2015-05-06 09:38:17 1754

原创 算法复习--------------列队的实现

列队是FIFO(先进先出)的一种数据结构  ,具体实现入下:templateclass Queue{private: int front; int rear; int MaxSize; T* queue;public: Queue(int MaxQueueSize = 10); ~Queue(); bool IsEmpty()const{ return front

2015-05-06 09:28:08 423

原创 算法复习--------------利用堆栈解决电路布线问题

具体实现代码如下:bool CheckBox(int net[], int n){ Stack *s = new Stack(n); for (int i = 0; i < n; i++){ if (!s->IsEmpty()){ if (net[i] == net[s->Top()]){ int x; s->Delete(x); } else

2015-05-02 14:56:29 948

windows网络编程

目者者录 译者序 前言 第一部分 传统网络API 第1章 NetBIOS 1 1.1 Microsoft NetBIOS 2 1.1.1 LANA编号 2 1.1.2 NetBIOS名字 4 1.1.3 NetBIOS特性 6 1.2 NetBIOS编程基础 7 1.3 常规NetBIOS例程 8 1.3.1 会话服务器:异步回调模型 15 1.3.2 会话服务器:异步事件模型 20 1.3.3 NetBIOS会话客户机 24 1.4 数据报的工作原理 28 1.5 其他NetBIOS命令 40 1.5.1 适配器状态 40 1.5.2 查找名字 42 1.5.3 将传送协议同LANA编号对应起来 43 1.6 平台问题 43 1.6.1 Windows CE 44 1.6.2 Windows 9x 44 1.6.3 常规问题 44 1.7 小结 44 第2章 重定向器 45 2.1 通用命名规范 45 2.2 多UNC提供者 47 2.3 网络提供者 47 2.4 重定向器简介 48 2.5 服务器消息块 48 2.6 安全问题 49 2.6.1 安全描述符 49 2.6.2 访问令牌 51 2.7 网络安全 51 2.8 一个实例 52 2.9 小结 53 第3章 邮槽 54 3.1 邮槽实施细节 54 3.1.1 邮槽的名字 54 3.1.2 消息的长度 55 3.1.3 应用程序的编译 56 3.1.4 错误代码 57 3.2 基本客户机/服务器 57 3.2.1 邮槽服务器的详情 57 3.2.2 邮槽客户机的详情 59 3.3 其他邮槽API 61 3.4 平台和性能问题 62 3.4.1 8.3字符名字限制 62 3.4.2 不能取消“凝结”的I/O请求 62 3.4.3 超时引起的内存废弃 64 3.5 小结 65 第4章 命名管道 66 4.1 命名管道的实施细节 66 4.1.1 命名管道命名规范 67 4.1.2 字节模式及消息模式 67 4.1.3 应用程序的编译 67 4.1.4 错误代码 68 4.2 客户机与服务器的基础 68 4.2.1 服务器的细节 68 4.2.2 高级服务器的细节 74 4.2.3 客户机的细节 81 4.3 其他API调用 83 4.4 平台和性能问题 86 4.5 小结 87 第二部分 Winsock API 第5章 网络原理和协议 89 5.1 协议的特征 89 5.1.1 面向消息 89 5.1.2 面向连接和无连接 91 5.1.3 可靠性和次序性 91 5.1.4 从容关闭 92 5.1.5 广播数据 92 5.1.6 多播数据 92 5.1.7 服务质量 92 5.1.8 部分消息 93 5.1.9 路由选择的考虑 93 5.1.10 其他特征 93 5.2 支持的协议 93 5.2.1 支持的Win32网络协议 93 5.2.2 Windows CE网络协议 94 5.3 Winsock 2协议信息 94 5.4 Windows套接字 97 5.5 具体平台的问题 99 5.6 选择适当的协议 100 5.7 小结 100 第6章 地址家族和名字解析 102 6.1 IP 102 6.1.1 TCP 102 6.1.2 UDP 102 6.1.3 定址 102 6.1.4 创建套接字 105 6.1.5 名字解析 105 6.2 红外线套接字 107 6.2.1 定址 107 6.2.2 名字解析 108 6.2.3 红外线设备列举 108 6.2.4 查询IAS 110 6.2.5 创建套接字 111 6.2.6 套接字选项 112 6.3 IPX/SPX 112 6.3.1 编址 112 6.3.2 创建套接字 112 6.4 NetBIOS 115 6.4.1 定址 115 6.4.2 创建套接字 116 6.5 AppleTalk 117 6.5.1 定址 117 6.5.2 AppleTalk名的注册 118 6.5.3 AppleTalk名的解析 119 6.5.4 创建套接字 124 6.6 ATM 124 6.6.1 定址 125 6.6.2 创建套接字 128 6.6.3 把套接字和SAP绑定在一起 129 6.6.4 名字解析 130 6.7 Winsock 2支持的其他函数 130 6.8 小结 131 第7章 Winsock基础 132 7.1 Winsock的初始化 132 7.2 错误检查和控制 134 7.3 面向连接的协议 134 7.3.1 服务器API函数 134 7.3.2 客户机API函数 138 7.3.3 数据传输 140 7.3.4 流协议 144 7.3.5 中断连接 146 7.3.6 综合分析 147 7.4 无连接协议 155 7.4.1 接收端 155 7.4.2 发送端 156 7.4.3 基于消息的协议 157 7.4.4 释放套接字资源 158 7.4.5 综合分析 158 7.5 其他API函数 165 7.6 Windows CE 168 7.7 其他地址家族 169 7.7.1 AppleTalk 169 7.7.2 IrDA 169 7.7.3 NetBIOS 170 7.7.4 IPX/SPX 170 7.7.5 ATM 171 7.8 小结 171 第8章 Winsock I/O方法 172 8.1 套接字模式 172 8.1.1 锁定模式 173 8.1.2 非锁定模式 175 8.2 套接字I/O模型 176 8.2.1 select模型 176 8.2.2 WSAAsyncSelect 179 8.2.3 WSAEventSelect 183 8.2.4 重叠模型 188 8.2.5 完成端口模型 198 8.3 I/O模型的问题 206 8.4 小结 206 第9章 套接字选项和I/O控制命令 207 9.1 套接字选项 207 9.1.1 SOL_SOCKET选项级别 208 9.1.2 SOL_APPLETALK选项级别 215 9.1.3 SOL_IRLMP选项级别 218 9.1.4 IPPROTO_IP选项级 222 9.1.5 IPPROTO_TCP选项级别 227 9.1.6 NSPROTO_IPX选项级别 227 9.2 IOCTLSOCKET和WSAIOCTL 231 9.2.1 标准I/O控制命令 232 9.2.2 其他I/O控制命令 233 9.2.3 安全套接字层的I/O控制命令 239 9.2.4 ATM I/O控制命令 241 9.3 小结 242 第10章 名字注册和解析 243 10.1 背景知识 243 10.2 名字空间模型 243 10.3 服务的注册 245 10.3.1 安装服务类 245 10.3.2 服务的注册 248 10.3.3 服务注册示例 251 10.4 服务的查询 254 10.4.1 怎样对服务进行查询 255 10.4.2 查询DNS 257 10.5 小结 260 第11章 多播 261 11.1 多播的含义 261 11.2 IP多播 264 11.2.1 Internet网关管理协议 264 11.2.2 IP叶节点 265 11.2.3 IP多播的实施 266 11.3 ATM多播 266 11.3.1 ATM叶节点 267 11.3.2 ATM根节点 267 11.4 多播与Winsock 268 11.4.1 Winsock 1多播 268 11.4.2 Winsock 2多播 274 11.4.3 常用的Winsock选项 288 11.4.4 拨号网络多播的一处限制 290 11.5 小结 291 第12章 常规服务质量 292 12.1 背景知识 292 12.1.1 资源预约协议 292 12.1.2 网络组件 293 12.1.3 应用组件 294 12.1.4 策略组件 296 12.2 QoS和Winsock 296 12.2.1 QoS结构 297 12.2.2 QoS调用函数 299 12.3 QoS中止 303 12.4 QoS编程 311 12.4.1 RSVP和套接字类型 312 12.4.2 QoS通知 314 12.4.3 QoS模板 316 12.5 示例 318 12.5.1 单播TCP 318 12.5.2 单播UDP 336 12.5.3 多播UDP 337 12.6 ATM和QoS 338 12.7 小结 339 第13章 原始套接字 340 13.1 原始套接字的创建 340 13.2 Internet控制消息协议 341 13.2.1 Ping示例 342 13.2.2 Traceroute示例 351 13.3 Internet组管理协议 352 13.4 IP_HDRINCL的使用 354 13.5 小结 362 第14章 Winsock 2服务提供者接口 363 14.1 SPI基础 363 14.1.1 SPI命名规则 364 14.1.2 Winsock 2 API和SPI函数之间的映 射 364 14.2 传输服务提供者 364 14.2.1 WSPStartup 365 14.2.2 参数 366 14.2.3 实例计数 369 14.2.4 套接字句柄 369 14.2.5 Winsock I/O模型支持 371 14.2.6 扩展函数 380 14.2.7 传输服务提供者的安装 381 14.3 命名空间服务提供者 386 14.3.1 名字空间的安装 386 14.3.2 名字空间的实施 387 14.3.3 名字空间提供者示范 392 14.4 Winsock SPI函数的调试追踪 396 14.5 小结 396 第15章 微软Visual Basic Winsock控件 397 15.1 属性 397 15.2 方法 398 15.3 事件 399 15.4 UDP示例 400 15.4.1 UDP消息的发送 403 15.4.2 UDP消息的接收 404 15.4.3 获取Winsock信息 404 15.4.4 运行UDP示例 405 15.4.5 UDP状态 405 15.5 TCP示例 406 15.5.1 TCP服务器 412 15.5.2 TCP客户机 413 15.5.3 获取Winsock信息 414 15.5.4 运行TCP示例 414 15.5.5 TCP状态 415 15.6 存在的局限 415 15.7 常见错误 416 15.8 Windows CE的Winsock控件 417 15.8.1 Windows CE Winsock示例 417 15.8.2 已知的问题 421 15.9 小结 422 第三部分 远程访问服务 第16章 RAS客户机 423 16.1 编译和链接 424 16.2 数据结构和平台兼容问题 424 16.3 DUN 1.3升级和Windows 95 425 16.4 RASDIAL 425 16.4.1 同步模式 427 16.4.2 异步模式 428 16.4.3 状态通知 432 16.4.4 关闭连接 432 16.5 电话簿 433 16.5.1 电话簿条目的增添 440 16.5.2 电话簿条目的重命名 442 16.5.3 电话簿条目的删除 442 16.5.4 电话簿条目的列举 443 16.5.5 用户凭据的管理 443 16.5.6 多链接电话簿的子条目 445 16.6 连接管理 446 16.7 小结 450 第四部分 附录录录 附录A NetBIOS命令索引 451 附录B IP助手函数 464 附录C Winsock错误代码 481

2013-12-20

深度探索c++对象

目录 本立道生(侯捷 译序) III 目录 VII 前言(Stanley B. Lippman) XIII 第0章 导读(译者的话) XXV 第1章 关于对象(Object Lessons) 1 加上封装后的布局成本(Layout Costs for Adding Encapsulation) 5 1.1 C++对象模式(The C++ Object Model) 6 简单对象模型(A Simple Object Model) 7 表格驱动对象模型(A Table-driven Object Model) 8 C++对象模型(The C++ Object Model) 9 对象模型如何影响程序(How the Object Model Effects Programs) 13 1.2 关键词所带来的差异(A Keyword Distinction) 15 关键词的困扰 16 策略性正确的struct(The Politically Correct Struct) 19 1.3 对象的差异(An Object Distinction) 22 指针的类型(The Type of a Pointer) 28 加上多态之后(Adding Polymorphism) 29 第2章 构造函数语意学(The Semantics of Constructors) 37 2.1 Default Constructor的构造操作 39 "带有Default Constructor"的Member Class Object 41 "带有Default Constructor"的Base Class 44 "带有一个Virtual Function"的Class 44 "带有一个Virtual Base Class"的Class 46 总结 47 2.2 Copy Constructor的构造操作 48

2013-12-20

c++编程实例

里面介绍了很多的关于c++开发的知识,值得新手的学习与借鉴。里面的程序简单易懂

2013-12-20

汇编语王爽言习题答案

这个文档是汇编语言(王爽)的课后习题答案,里面讲解的非常的详细,很适合查阅

2013-12-20

vc++游戏程序设计

这本书介绍了基本的vc++游戏开发,适合新手学习用,角色扮演类游戏

2013-12-20

空空如也

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

TA关注的人

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