- 博客(5)
- 收藏
- 关注
转载 static_cast、dynamic_cast、reinterpret_cast和const_cast之间的区别
C-style cast举例: int i; double d; i = (int) d; 上面的代码就是本来为double类型的d,通过(int)d将其转换成整形值,并将该值赋给整形变量i (注意d本身的值并没有发生改变)。这就是典型的c-style类型转换。 下面是一个简单的程序:#include using namespace std; int
2014-03-28 09:54:08 319
转载 C++全局变量的声明和定义
(1)编译单元(模块) 在VC或VS上编写完代码,点击编译按钮准备生成exe文件时,编译器做了两步工作: 第一步,将每个.cpp(.c)和相应的.h文件编译成obj文件; 第二步,将工程中所有的obj文件进行LINK,生成最终.exe文件。 那么,错误可能在两个地方产生: 一个,编译时的错误,这个主要是语法错误; 一个,链接时的错误,主要是重复定义变量等。
2014-03-20 10:02:22 298
转载 window多线程及同步实现
1. 关于线程的讨论1.1 Windows98下的多任务、多进程和多线程 Windows98是一个多任务操作系统,它支持两种类型的多任务:基于进程(process)的多任务和基于线程(thread)的多任务。进程是指正在执行的程序,在Windows98中可以同时执行两个或多个任务进程,即运行多个程序,这就是普遍理解的基于进程的多任务。 线程是指进程
2014-03-19 11:44:09 422
转载 DLL和exe里的malloc和free不能混用
一个模块一个堆,一个线程一个栈。dll里malloc的内存,在exe里free会出错。CRT(C运行时期库)不是使用进程缺省的堆来实现malloc(new中调用malloc)的,而是使用一个全局句柄HANDLE _crtheap来分配内存的。这个_crtheap是在XXXCRTStartUp(CRT提供的进口点函数)中创建的。由于CRT静态连接,则楼主的DLL里有也有一个CRT,因
2014-03-12 11:35:11 338
转载 CString ,BSTR ,LPCTSTR之间关系和区别 .
CString是一个动态TCHAR数组。BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵)。LPCTSTR只是一个常量的TCHAR指针。CString 是一个完全独立的类,动态的TCHAR数组,封装了 + 等操作符和字符串操作方法。typedef OLECHAR FAR* BSTR;typedef const char * LPCTSTR;vc++中各种字
2014-03-12 11:32:06 274
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人