VC++
文章平均质量分 88
TS_up
这个作者很懒,什么都没留下…
展开
-
STL中map详解
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有转载 2015-12-28 14:51:39 · 204 阅读 · 0 评论 -
从内存资源中加载DLL:CMemLoadDll源码整理
头文件/*****MemLoadDll.h*****/#if !defined(Q_OS_LINUX)#pragma oncetypedef BOOL (__stdcall *ProcDllMain)(HINSTANCE, DWORD, LPVOID );class CMemLoadDll{public: CMemLoadDll(); ~CMemLoad转载 2016-04-22 18:00:39 · 4323 阅读 · 0 评论 -
C++ 中extern"C"
比如说你用C 开发了一个DLL 库,为了能够让C ++语言也能够调用你的DLL 输出(Export) 的函数,你需要用extern "C" 来强制编译器不要修改你的函数名。通常,在C 语言的头文件中经常可以看到类似下面这种形式的代码:#ifdef __cplusplus extern "C" { #endif /**** some declaration or s转载 2016-04-25 15:34:49 · 351 阅读 · 0 评论 -
C++ 类的前置声明
刚开始学习c++的人都会遇到这样的问题:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样://a.h #include "b.h" class A { .... private: B b; }; //b.h #include "a.h" class B {转载 2016-04-25 14:47:27 · 1355 阅读 · 0 评论 -
Unicode字符集和多字节字符集关系
Unicode字符集和多字节字符集关系在计算机中字符通常并不是保存为图像,每个字符都是使用一个编码来表示的,而每个字符究竟使用哪个编码代表,要取决于使用哪个字符集(charset)。 在最初的时候,Internet上只有一种字符集——ANSI的ASCII字符集,它使用7 bits来表示一个字符,总共表示128个字符,其中包括了英文字母、数字、标点符号等常用字符。之后,又进行扩展,使用8转载 2016-02-02 19:54:10 · 1130 阅读 · 0 评论 -
c++ 时间类型详解(time_t和tm)
原文:http://blog.csdn.net/love_gaohz/article/details/6637625Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix 系统、类U转载 2016-01-13 20:21:35 · 3107 阅读 · 0 评论 -
VC++文件操作之最全篇
一、剖析VC中的文件操作 各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。 1.文件的查找 当对一个文件操作时,如果转载 2016-01-27 22:16:08 · 1757 阅读 · 0 评论 -
CWinThread的使用方法
CWinThread类成员数据成员 m_bAutoDelete 指定线程结束时是否要销毁对象 m_hThread 当前线程的句柄 m_nThreadID 当前线程的ID m_pMainWnd 保存指向应用程序的主窗口的指针 m_pActiveWnd 指向容器应用程序的主窗口,当一个OLE服务器被现场激活时 构造函数 CWinThread 构造一个转载 2015-12-26 17:32:29 · 1223 阅读 · 0 评论 -
USB设备的插入检测
Device Class GUID, Device Interface Class GUID, Interface GUID是有区别的,另外奉上两篇MSDN文章: http://msdn.microsoft.com/en-us/library/windows/hardware/ff553412(v=vs.85).aspx http://msdn.microsoft.转载 2015-12-26 17:31:11 · 497 阅读 · 0 评论 -
重叠IO overlapped I/O 运用详解
I/O设备处理必然让主程序停下来干等I/O的完成,对这个问题有方法一:使用另一个线程进行I/O。这个方案可行,但是麻烦。 即 CreateThread(…………);创建一个子线程做其他事情。 Readfile(^…………);阻塞方式读数据。方法二:使用overlapped I/O。overlapped I/O是WIN32的一项技术, 你可以要转载 2015-12-26 16:57:17 · 742 阅读 · 0 评论 -
C++ STL算法
【C++ STL学习之一】容器的共通能力和共通操作总结一、C++ STL各容器有一些共通的能力其中三个最核心的能力是:(1)所有容器提供的是“value语意”而不是“reference语意”。容器进行元素的安插操作时,内部实施的是拷贝操作,存放的是元素的副本。因此容器的每一个元素必须能被拷贝。如果打算存放的对象不具备public 拷贝构造函数或者你要原创 2015-12-26 12:19:40 · 314 阅读 · 0 评论 -
stl中std::binary_function的使用
stl中 bind1st和 bind2nd 以及not1 等适配器的使用在我们使用stl的 一些算法的时候,比如find_if等,需要使用仿函数,如果仿函数有2个参数,但是算法需要一个一元的仿函数的时候,我们可以使用适配器,比如:bind1st和bind2nd来将仿函数适配成一元的操作符。 bind1st表示我们绑定第一个参数,bind2st表示我们绑定第原创 2015-12-26 11:57:07 · 722 阅读 · 0 评论 -
关于EOF(文件结束符)问题的体会
最近写了些代码,在对文件的操作中发现了很经典的EOF问题,呵呵。EOF,即end of file,文件结尾,作为文件结束的标志,在程序中常作为判断的一个标志。但在我们平常的程序中却常发生意想不到的结果。下面这段程序,猜猜它输出的是什么?char c;ifstream fin("d://dat");//设d:/dat文件已存在,内容为a转载 2016-01-27 13:40:39 · 1742 阅读 · 1 评论 -
VC文件操作
在VC中文件操作有三种方式,使用C标准库,使用WINAPI或使用MFC库一.C标准库1.创建打开文件fopenFILE *fopen(const char* filename,Const char* mode)//相应有Unicode版本 _wfopenfilename文件名还有基于CRT的安全版本errno_t fopen_s(FILE ** pFile,co转载 2016-01-27 13:39:43 · 403 阅读 · 0 评论 -
WM_NCCALCSIZE消息处理详解
WM_NCCALCSIZE消息处理详解【前言】指定应用程序的标题高度和边框的宽度的方法有很多种。其中最普遍的方法有下面的两种:第一种:创建没有标题栏应用程序,在客户区让出一部分空间用一幅图片画一个标题栏,让人“误认为”是标题栏。第二种:处理应用程序接收到的WM_NCCALCSIZE消息,改变客户区在窗口中的位置,从而得到合适标题栏高度。不能说哪一种方法好,哪一种方法不好,其转载 2015-12-16 15:20:18 · 734 阅读 · 0 评论 -
GetKeyState()和GetAsyncKeyState()的区别
使用::GetKeyState()返回一个short型的数,short型是16位有符号的数据类型,如果要查询的键被按下,返回值最高位被置1,则这个数表示负数,所以可以用0来判断。0x8000是16进制数,用2进制表示为1000 0000 0000 0000,&是按位与。同样,如果键被按下,返回值最高位为1,则1xxx xxxx xxxx xxxx & 1000 0000 0000 0000转载 2015-12-16 19:54:14 · 1805 阅读 · 0 评论 -
对WM_NCHITTEST消息的了解+代码实例进行演示
这个消息比较实用也很关键,它代表非显示区域命中测试。这个消息优先于所有其他的显示区域和非显示区域鼠标消息。其中lParam参数含有鼠标位置的x和y屏幕坐标,wParam 这里没有用。Windows应用程序通常把这个消息传送给DefWindowProc,然后Windows用WM_NCHITTEST消息产生与鼠标位置相关的所有其他鼠标消息。通俗的讲从消息产生消息。case WM_NCH转载 2015-12-16 10:30:05 · 369 阅读 · 0 评论 -
pragma comment的使用 pragma预处理指令详解
#pragma comment( comment-type [,"commentstring"] )该宏放置一个注释到对象文件或者可执行文件。comment-type是一个预定义的标识符,指定注释的类型,应该是compiler,exestr,lib,linker之一。commentstring是一个提供为comment-type提供附加信息的字符串,Remarks:1、compiler:放转载 2015-11-26 17:26:20 · 327 阅读 · 0 评论 -
C++ inline函数简介
1.inline函数简介inline函数是由inline关键字来定义,引入inline函数的主要原因是用它替代C中复杂易错不易维护的宏函数。2.编译器对inline函数的处理办法编译器在编译阶段完成对inline函数的处理,即对inline函数的调用替换为函数的本体。但inline关键字对编译器只是一种建议,编译器可以这样去做,也可以不去做。从逻辑上来说,编译器对inline函数的处理步骤...转载 2019-03-30 13:37:36 · 314 阅读 · 0 评论