摘要: 摘自《C++ Common Knowledge》 人们常常会将指针和引用混淆,原因大概在于C++编译器通常采用指针的方式实现引用,但引用其实不是指针,其行为和指针并不相同。   引用和指针存在三大区别: 一,不存在空引用; int &a=*static_cast<int*>(0);   //错误 二,所有引用都要初始化; 三,一个引用... 阅读全文
posted @ 2010-02-17 17:50 leukotrichia 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 创建一个基于对话框的工程,工程名为CreateMenu 为该对话框增加一个文件菜单项和测试菜单项,如下图所示 测试菜单项至少要有一个子菜单项 在对话框属性中关联该菜单 在resource.h中增加一个ID_TESTMENU宏 #define ID_TESTMENU          5000 ... 阅读全文
posted @ 2009-12-05 23:27 leukotrichia 阅读(9049) 评论(0) 推荐(1) 编辑
摘要:   新建一个单文档程序 在查看菜单项中增加两个子菜单,分别为隐藏工具栏(ID_HIDE),新建菜单(ID_NEWMENU) 在Resource.h中增加一个ID_NEWMENU宏 #define ID_NEWMENU        WM_USER+101   操作工具栏和状态栏 使用GetDes... 阅读全文
posted @ 2009-12-05 19:09 leukotrichia 阅读(21375) 评论(0) 推荐(0) 编辑
摘要: 新建一个单文档程序GetExtractIcon 修改CGetExtractIconView类的OnDraw函数如下 void CGetExtractIconView::OnDraw(CDC* pDC) { CGetExtractIconDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native... 阅读全文
posted @ 2009-12-04 23:15 leukotrichia 阅读(1208) 评论(0) 推荐(0) 编辑
摘要: 创建一个基于对话框的工程,工程名为CreateThreadRect   在CreateThreadRect.cpp中增加一个ThreadProc函数,代码如下   工作者线程的函数必须是全局函数或静态成员函数,不能是普通的成员函数   DWORD WINAPI ThreadProc(LPVOID pParam) { CDC* pdc; //将传入的参数转为... 阅读全文
posted @ 2009-12-03 19:01 leukotrichia 阅读(32627) 评论(0) 推荐(3) 编辑
摘要: 创建一个Win32 Console Application,工程名为CreateMythread 添加一个CPP文件,代码如下 #include <iostream> #include <windows.h> using namespace std;   DWORD WINAPI ThreadProc(LPVOID pParam); UINT Prin... 阅读全文
posted @ 2009-12-03 03:59 leukotrichia 阅读(2153) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> #include <windows.h> #include <string> using namespace std; void FindFile(string filename,const string filter);   int main(int argc,char* argv[]) { st... 阅读全文
posted @ 2009-12-02 01:30 leukotrichia 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 参考MSDN By default, MFC uses the resource handle of the main application to load the resource template. If you have an exported function in a DLL, such as one that launches a dialog box in the DLL, th... 阅读全文
posted @ 2009-11-29 00:29 leukotrichia 阅读(939) 评论(0) 推荐(1) 编辑
摘要: MFC常规DLL中可以使用C++和MFC类库及函数,但其导出接口必须是C函数,不能导出C++函数和类 MFC常规DLL可以在MFC程序和大多数Win32程序中使用 创建常规DLL 新建工程 选择MFC APPWizard(dll),工程名为ShowTime,点击确定 进入下一个步骤要创建的DLL的类型,如图所示: 动态链接库和MFC静态链接:这种DLL在链接过程中会将使用到得MFC类库复制一份到... 阅读全文
posted @ 2009-11-27 17:41 leukotrichia 阅读(4115) 评论(0) 推荐(0) 编辑
摘要: 由ANSI的标准规定, 预处理指令主要包括:      #define      #error      #if      #else      #elif    ... 阅读全文
posted @ 2009-11-25 16:51 leukotrichia 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 动态连接库是在程序运行时加载到内存中的。 Visual C++ 支持的动态链接库有三种:Win32 DLL,MFC常规DLL,MFC扩展DLL 创建win32 DLL Win32 DLL中不可以使用MFC类库,导出的是标准的C函数。 1.新建->工程 选择Win32 Dynamic-Link Library。工程名为pow,点击确定进入下一步 选择第三项“一个可以导出某些符号的DLL工程”,... 阅读全文
posted @ 2009-11-25 04:51 leukotrichia 阅读(2153) 评论(0) 推荐(1) 编辑
摘要: 静态库是在编译时跟目标文件一起被编译的。   DEV-C++: 首先,新建工程,选择Static Library,工程名称设为Myfunc 新建一个名为func.h的头文件,代码如下 #ifndef _define #define _define namespace hehe { int foo(int x,int y); template <typename T> ... 阅读全文
posted @ 2009-11-24 22:00 leukotrichia 阅读(10334) 评论(0) 推荐(1) 编辑
摘要: LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 出现这个错误的原因是你创建了win32 Application工程,而主函数却定义为了控制台模式的main函数 Win32 Application的主函数应该是WinMain而不是main 解决这个错误有两个方法 第一种:重新创建一个... 阅读全文
posted @ 2009-11-21 00:41 leukotrichia 阅读(12466) 评论(0) 推荐(0) 编辑
摘要:   摘录自《数据结构原理与经典问题求解》   #include "QuickSort.h" #include <iostream> using namespace std;   QuickSort::QuickSort(vector<int> _list, int _len) { for (int i=0; i... 阅读全文
posted @ 2009-11-19 21:49 leukotrichia 阅读(217) 评论(0) 推荐(0) 编辑
摘要:   摘录自《数据结构原理与经典问题求解》     #include <iostream> #include "HuffmanTree.h"   using namespace std;   int main() { HuffmanTree * HT = NULL; HuffmanCode HC; c... 阅读全文
posted @ 2009-11-19 21:44 leukotrichia 阅读(284) 评论(0) 推荐(0) 编辑