C++
huang9012
这个作者很懒,什么都没留下…
展开
-
C++中.h与.cpp的关系
C++中,一般把类的定义放到头文件(.h)中,把类的实现放到源文件(.cpp)中,所以,一般在C++中,一个类一般需要一个与类同名的头文件和一个源文件。比如定个一个类 Sample,类中定个一个私有成员变量,和两个公共成员函数,有如下代码://Sample.hclass Sample{private:DWORD dw; //私有成员变量public:Sample(DWORD dw=0转载 2013-10-23 11:37:00 · 3789 阅读 · 0 评论 -
解决KinectSDK包含头文件报错问题
错误特征:C:\Program Files\Microsoft SDKs\Kinect\v1.7\inc\NuiSensor.h(46): error C2146: 语法错误: 缺少“;”(在标识符“INuiAudioBeam”的前面)1>C:\Program Files\Microsoft SDKs\Kinect\v1.7\inc\NuiSensor.h(46): error C原创 2013-11-13 15:35:32 · 3772 阅读 · 1 评论 -
c++中箭头操作符(->)和点操作符(.)有什么不同
一个左边是指针. 一个左边是实体如果p是指针,p->function(); 如果p是对象,p.function(); 记住-〉必须是指针,.左边必须是对象或者结构体,一般是类对象首先介绍一下C++中的结构。对于一个结构来说,struct MyStruct{ int member_a; };如果有个变量M转载 2013-11-11 14:14:33 · 1518 阅读 · 0 评论 -
c++中CreateEvent函数解析
函数原型:HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, // SD BOOL bManualReset, // reset type BOOL bInitialState, // initial state L转载 2013-11-11 14:46:15 · 789 阅读 · 0 评论 -
c++中WaitForSingleObject函数解析
函数的原型:DWORD WaitForSingleObject( HANDLE hHandle, // handle to object DWORD dwMilliseconds // time-out interval );hHandle:(事件)对象的句柄;dwMilliseconds:时间间隔,毫秒级WaitForSingleObject 函数当出现如下一种情况时才返回:转载 2013-11-11 00:51:01 · 1304 阅读 · 0 评论 -
C++中const用法总结
1. const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可变。例如:转载 2013-11-11 00:45:11 · 741 阅读 · 0 评论 -
C++零食:HRESULT 与 Windows Error Codes 不是一回事
C++零食:HRESULT 与 Windows Error Codes 不是一回事在用C++来开发Windows程序时,经常看到下面的判断情况:HRESULT hr = ::RegCreateKeyEx(hk, szKeyPath, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_QUERY_VALUE, NULL, &hk, NULL);转载 2013-11-11 00:38:46 · 845 阅读 · 0 评论 -
C++, ID、指针、handle (void *)的区别
在Windows程序设计中,句柄是无法精确定义的术语。随便找一个高手,让他给你讲讲句柄是什么,恐怕他都很难给你一个具体的定义来。在Windows程序设计中,句柄无所不在,窗口有窗口的句柄HWND,线程和进程也有句柄HANDLE,甚至有人把套接字也称为句柄(我就是这样的)。句柄在英文中是handle,作为动词讲是处理的意思。简而言之,句柄是处理对象的一个接口,对于程序中所涉及的对象,你可以通转载 2013-11-11 00:32:05 · 1131 阅读 · 0 评论 -
.net托管环境下struct实例字段的内存布局(Layout)和大小(Size)
在C/C++中,struct类型中的成员的一旦声明,则实例中成员在内存中的布局(Layout)顺序就定下来了,即与成员声明的顺序相同,并且在默认情况下总是按照结构中占用空间最大的成员进行对齐(Align);当然我们也可以通过设置或编码来设置内存对齐的方式,有关C/C++中(设置)内存对齐的讨论,可以参考我以前写的一篇面试手记《总结面试时没有回答上的设置内存对齐方式问题》。 然而在.net转载 2013-11-08 11:04:33 · 834 阅读 · 0 评论 -
0x 这样写的意义
0x表示的是16进制数字,我经常设置一些显示输出语句的时候都用原始的0x后面加16进制代码来表示 这样做的主要原因就是不让别人修改显示输出的数据罢了,其实里面很多冬冬你都可以用0x这种代码来表示的原创 2013-11-08 10:58:02 · 1600 阅读 · 0 评论 -
在VS2010上使用C#调用非托管C++生成的DLL文件(图文讲解)
背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件的时候,通过C#来开发应用软件时,就需要利用DllImport特性进行方法调用。本篇文章将引导你快速理解这个调用的过程。 步骤1. 创建一个CSharpInvokeCPP的解决方案: 2. 创建一个C++的动态库项目: 3. 在应用程序设置中,选择“DLL”,其转载 2013-11-13 23:48:16 · 961 阅读 · 0 评论