![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++ 基础
文章平均质量分 68
witchsnk
这个作者很懒,什么都没留下…
展开
-
虚函数
在面向对象的C++语言中,虚函数(virtual function)是一个非常重要的概念。因为它充分体现了面向对象思想中的继承和多态性这两大特性,在C++语言里应用极广。比如在微软的MFC类库中,你会发现很多函数都有virtual关键字,也就是说,它们都是虚函数。难怪有人甚至称虚函数是C++语言的精髓。 那么,什么是虚函数呢,我们先来看看微软的解释: 虚函数是指转载 2008-04-03 17:45:00 · 182 阅读 · 0 评论 -
如何有效地使用对话框
Q:如何在对话框中加入工具条 在 OnInitDialog 中加入下面代码: BOOL CYourDlg::OnInitDialog(){ CDialog::OnInitDialog(); // Create the toolbar. To understand the meaning of the styles used, you转载 2008-10-31 16:17:00 · 874 阅读 · 0 评论 -
SEH的EXCEPTION_CONTINUE_EXECUTION
因为工作需要,又要研究一下C++的Exception机制,用MSVC的话,自然又要了解一下Windows的Standard Exception Handling(简称SEH,不是SHE),实际上MSVC的Exception机制就是基于SEH的。 在这个链接(http://51cmm.csai.cn/ExpertEyes/No159.htm)上,介绍了一下SEH在VC中的体现,就是__try转载 2008-11-30 16:07:00 · 2274 阅读 · 0 评论 -
类型转换
DWORD -->CStringDWORD dw = 3369960644; CString strTemp(CString()); strTemp.Format("%u",dw );或者 char buf[32]={0};sprintf(buf, "DWORD Value is: %u/n", Register);或者// TCHAR str[20]={0}; //转载 2008-12-19 13:22:00 · 249 阅读 · 0 评论 -
P2P 之 UDP穿透NAT的原理与实现
论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。 首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本 的NAT和NAPT(Netwo转载 2008-10-14 20:34:00 · 161 阅读 · 0 评论 -
深入分析MFC中的CArray类
我们在使用vc进行比较复杂的编程时,经常需要用到复杂的数组结构,并希望能实现动态管理。由于C++并不支持动态数组,MFC提供了一个CArray类来实现动态数组的功能。有效的使用CArray类,可以提高程序的效率。 MFC提供了一套模板库,来实现一些比较常见的数据结构如Array,List,Map。CArray即为其中的一个,用来实现动态数组的功能。 CArray是从CObject派生,有两转载 2008-10-14 20:15:00 · 294 阅读 · 0 评论 -
VC操作文件之:CFile操作详解
CFile操作详解各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。 1.文件的查找 当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。M转载 2008-10-13 17:57:00 · 2529 阅读 · 0 评论 -
我眼中的指针
为初学者服务。这是我的帖子的宗旨。我也是个初学者(强调了无数遍了) ,我以我的理解把初学者觉得难懂的东西用浅显的语言写出来。由于小学时语文 没学好,所以竭尽全力也未必能达到这个目的。尽力而为吧。 指针是c和c++中的难点和重点。我只精通dos下的basic。c语言的其它各种特 性,在basic中都有类似的东西。只有指针,是baisc所不具备的。指针是c的灵魂 。 我不想重复大多数书上说得很清楚的东转载 2008-04-03 17:39:00 · 206 阅读 · 0 评论 -
指针函数和函数指针有什么区别
指针函数和函数指针有什么区别 1,这两个概念都是简称,指针函数是指带指针的函数,即本质是一个函数。我们知道函数都又返回类型(如果不返回值,则为无值型),只不过指针函数返回类型是某一类型的指针。其定义格式如下所示: 返回类型标识符 *返回名称(形式参数表) { 函数体 } 返回类型可以是任何基本类型和复合类型。返回指针的函数的用途十分广泛。事实上,每一个函数,即使它不带有返回某种类型的指转载 2008-04-03 17:44:00 · 168 阅读 · 0 评论 -
网络编程——断点续传和多线程下载模式
概述 在当今的网络时代,下载软件是使用最为频繁的软件之一。几年来,下载技术也在不停地发展。最原始的下载功能仅仅是个“下载”过程,即从WEB服务器上连续地读取文件。其最大的问题是,由于网络的不稳定性,一旦连接断开使得下载过程中断,就不得不全部从头再来一次。 随后,“断点续传”的概念就出来了,顾名思义,就是如果下载中断,在重新建立连接后,跳过已经下载的部分,而只下载还没有下载的转载 2008-10-14 20:31:00 · 212 阅读 · 0 评论 -
网络编程--closesocket(s)与shutdown(s,type)的区别
TCP有半关闭的情况,如果要全关闭,需要双方向对端发送Fin报文,然后对对方的Find报文进行响应(Ack) shutdown表示不再发送数据,但是并没有发送Fin报文,没有终止连接,实际上TCP连接仍然存在,这时如果你要重新建立该Socket对(源/目的端口,源/目的IP均相同)的话是会失败的,因为连接还存在,你就不能重复创建 如果closesocket后表明连接已经彻底终止了,可以重新用c转载 2008-10-14 20:32:00 · 992 阅读 · 1 评论 -
使用MFC的数组类
MFC的数组类支持的数组类似于C++中的常规数组,可以存放任何数据类型。C++的常规数组在使用前必须将其定义成能够容纳所有可能需要的元素,而MFC数组类创建的对象可以根据需要动态地增大或减小,数组的起始下标是0,而上限可以是固定的,也可以随着元素的增加而增加,数组在内存中的地址仍然是连续分配的。 MFC定义了数组模板类CArray,并针对各种常用变量类型定义了CByteArray,CWordAr转载 2008-10-14 20:18:00 · 210 阅读 · 0 评论 -
P2P 之 TCP穿透NAT的原理
摘要防火墙和网络地址转换(NAT)设备对于传统的P2P协议存在一定的问题。一些中间设备抑制了来自外部网络到内部网络的TCP请求,这篇文章的目的就是寻找一个能够在两个NAT设备内部的主机间建立TCP连接的方法。我们已经在两个普通的硬件条件下实现了这个功能。1.入门由于32位IP地址的减少,现在出现了很多通过一个internet地址代理内部网络上网的设备,这就是NAT技术。这些设备对于INTERN转载 2008-10-14 20:32:00 · 327 阅读 · 0 评论 -
计算文件夹的大小
没有直接的API函数,只有采用递归方法,下面这种判断是否是文件夹还是文件的方法与“删除文件夹”日志中的方法不一样,但是原理一样。 LONGLONG llFolderSize; //全局变量 CString OperateXML::calculateFolderSize( CString strFolderPath ){ CFileFind ff;原创 2008-10-14 20:30:00 · 191 阅读 · 0 评论 -
网络编程--WININET
一个Internet客户端程序的目的是通过Internet协议如:HTTP、FTP等来存取网络数据源(服务器)的信息。客户端程序可以访问服务器获得象天气预报,股票价格、重要新闻数据,甚至是与服务器交换信息。Internet客户端程序可以通过外部网络(Internet)或内部网络(一般为Intranet)访问服务器。 为了开发Internet客户端程序。MFC类库提供了专门的 Win32 In转载 2008-10-14 20:35:00 · 389 阅读 · 0 评论 -
MFC 的CList,CPtrList,CObList,CStringList 的用法之CList
CList 类 C++中实现通用数据结构在程序设计当中经常会出现使用同种数据结构的不同实例的情况。例如:在一个程序中可以使用多个队列、树、图等结构来组织数据。同种结构的不同实例,也许只在数据元素的类型或数量上略有差异,如果对每个实例都重新定义,则非常麻烦且容易出错。那么能否对同种类型数据结构仅定义一次呢?答案是肯定的,C++提供的类模板(Class Template)就可以实现该功能。一、类模转载 2008-10-12 12:06:00 · 749 阅读 · 0 评论