关于c++的强制指针转换在mfc中应用的遗憾

VC/MFC > 基础类 [问题点数:20分,结帖人gzt0806]
等级
本版专家分:0
结帖率 88.89%
等级
本版专家分:362765
勋章
Blank
签到新秀 累计签到获取,不积跬步,无以至千里,继续坚持!
Blank
名人 2019年 荣获名人称号
2013年 荣获名人称号
Blank
探花 2011年 总版技术专家分年内排行榜第三
2010年 总版技术专家分年内排行榜第三
Blank
进士 2012年 总版技术专家分年内排行榜第五
等级
本版专家分:2744
勋章
Blank
红花 2011年2月 移动平台大版内专家分月排行榜第一
2011年1月 移动平台大版内专家分月排行榜第一
2010年10月 移动平台大版内专家分月排行榜第一
Blank
黄花 2010年12月 移动平台大版内专家分月排行榜第二
2010年11月 移动平台大版内专家分月排行榜第二
Blank
蓝花 2011年5月 移动平台大版内专家分月排行榜第三
2011年4月 移动平台大版内专家分月排行榜第三
2011年3月 移动平台大版内专家分月排行榜第三
等级
本版专家分:24519
勋章
Blank
黄花 2015年12月 VC/MFC大版内专家分月排行榜第二
2015年10月 VC/MFC大版内专家分月排行榜第二
等级
本版专家分:24519
勋章
Blank
黄花 2015年12月 VC/MFC大版内专家分月排行榜第二
2015年10月 VC/MFC大版内专家分月排行榜第二
等级
本版专家分:24519
勋章
Blank
黄花 2015年12月 VC/MFC大版内专家分月排行榜第二
2015年10月 VC/MFC大版内专家分月排行榜第二
等级
本版专家分:10949
等级
本版专家分:10755
等级
本版专家分:0
gzt0806

等级:

关于void*类型的用法(目前自己所能想到的)

1.C++语言对于void* 类型的使用很特别,因为void* 可以间接引用任何其他数据类型的指针,比如int*、float*甚至抽象数据类型的指针,而且可以从void* 强制转换为任何其他数据类型的指针,所以使用起来有时候会比较...

在MFC中从一个线程工作函数中向窗口发送消息(this指针的妙用)

前一段时间使用MFC写程序的时候,为了实现从一个窗口向另一个窗口发送消息,使用过下面两种方法 /*方法一:通过用SDK的标准API来查找其他对话框窗口返回句柄,并且发送信息 HWND hWnd;  //通过SDK的FindWindow...

LPSTR与String的转换问题

LPSTR为char指针类型,当遇到string类型与LPSTR类型转换问题时,误以为强制转换(LPSTR)CString *str;就能解决问题,编译也不报错,但是结果程序就是崩溃,查了半天终于发现这条道路行不通。 3 ...

强烈推荐visual c++ 2012入门经典适合初学者入门

强烈推荐visual c++ 2012入门经典适合初学者入门 此书循序渐进,用其独特、易于理解的教程风格来介绍各个主题,无论是编程新手,还是经验丰富的编程人员,都很容易理解。 此书的目录基本覆盖了Windows C++从入门到...

关于C++的子类指针指向父类

1,直接用基类指针引用基类对象 2,直接用派生类指针引用派生类对象 3,用基类指针引用一个派生类对象,由于派生类对象也是基类的对象,所以这种引用是安全的, ...派生类指针必须先强制转换为基类指针,这种方法

与指向的类型无关;转换要求 reinterpret_cast、c 样式转换或函数样式转换

C++写的MFC(ANSI),之前好好地,后来再打开出现这个问题,很明显就是配置问题。 问题如下: ------ 已启动生成: 项目: winsocket, 配置: Debug Win32 ------ 生成启动时间为 2016/10/21 9:41:41。 ...

何时一个类的指针可以强制转化为另外一个类的指针,即使它们之间没有派生关系?

问:我看到CListView的成员函数GetListCtrl直接把CListView本身的指针转换为CListCtrl指针。我想知道什么情况下可以安全地把一个类的指针转化为另一个类的指针?答:只要你访问的数据的内存表示是完全相同的,那么...

MFC学习(25)LPCTSTR和CString的关系

 L表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的,win32以及其他的32位操作系统, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。  P表示这是一个指针  C表示是一个...

AfxGetApp()函数的使用

afxgetapp -- 取应用程序实例指针 我通常把一些重要的工程一开始就需要初始化的并且其它地方类中都要用到的变量或 函数定义C***App类,然后通过此函数获得这些变量或函数。 如果你定义为取全局变量,只需...

VCCString和WPARAM之间的相互转换(结构体变量和WPARAM之间的转换

1 CString作为WPARAM进行传递 这种情况经常出现自定义消息的发送语句,将CString类型的变量作为WPARAM进行传递.直接将CString强制转化成WPARAM是不行的,正确的方法是这样的(将红色字体部分用你的消息和变量进行...

c++强制类型转换:dynamic_cast、const_cast 、static_cast、reinterpret_cast

dynamic_cast: 通常基类和派生类之间转换时使用,run-time castconst_cast: 主要针对const和volatile的转换. static_cast: 一般的... reinterpret_cast: 用于进行没有任何关联之间的转换,比如一个字符指针转换为一

基类指针与派生类指针的相互转换

基类指针与派生类指针的相互转换 1,直接用基类指针引用基类对象 2,直接用派生类指针引用派生类对象 3,用基类指针引用一个派生类对象,由于派生类对象也是基类...而侯捷的深入浅出MFC中第二章C++重要性质中:

MFC的消息处理机制及相关的宏

这段话是我中文维基的“类成员函数指针”词条写的: ...用户所写的类的Windows消息处理函数(例如OnCommand)必须转换为CCmdTarget::*的成员函数指针类型AFX_PMSG,保存该用户类的_messageEntries静态数组

C语言的函数指针类型转换

今天看PHP5.3源码zend_API.h

C++基础----C++ 布尔类型(bool)及BOOL和bool的区别

声明:本文章是根据网上资料,加上自己整理和理解而成,仅为记录自己学习的点点滴滴。...计算,布尔变量的值可以是true或false。过去,C++和C一样,也没有布尔类型。C++将非零值解释为true,将零解释...

C++ DLL总结—静动态调用、导出类

1、 DLL的概念 DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数、变量或类。...动态链接库不必被包含最终EXE文件,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件

CBitmap,HBitmap,Bitmap区别及联系

加载一位图,可以使用LoadImage: HANDLE LoadImage(HINSTANCE hinst,LPCTSTR lpszName,UINT uType,int cxDesired,int CyDesired,UINT fuLoad); LoadImage可以用来加载位图,图标和光标 ...

MAKEINTRESOURCE的作用

MAKEINTRESOURCE是一个资源名转换的宏,   VC的定义是(winuser.h):   #define MAKEINTRESOURCEA(i) (LPSTR)((ULONG_PTR)((WORD)(i)))   #define MAKEINTRESOURCEW(i) (LPWSTR)((ULONG_PTR)((WORD)(i))) 

LPTSTR,CString互转及字符串类操作说明

---LPTSTR 转换成 CString--- (1)直接赋值 CString strText; LPTSTR lpszText = _T("LPTSTR >> CString"); strText = lpszText; ::MessageBox( NULL, strText , _T("标题"), MB_ICONASTERISK|MB_TASKMODAL|MB_OK ); ...

c++ 与C#比较

对于新手来讲 vc比c#难很多(入门学习) 实现同样的功能,vc的代码量要比c#多很多 对于高手来讲 他要考虑是项目的需求 ...C#不需要用到麻烦的mfc类,不需要头疼的*.h…… C#基于FrameWork

[MFC]程序访问对话框的控件——GetDlgItem函数

1. 使用GetDlgItem函数来访问对话框的控件:  1) 函数原型:CWnd* CWnd::GetDlgItem(int nID) const;  2) 只要参数指定为要访问的控件的ID,即可返回该控件的指针,但要注意的是返回的是CWnd*类型的指针,是所有...

利用自定义消息处理函数的WPARAM或LPARAM参数传递指针

有自定义消息:#define WM_TEST WM_USER+121 消息处理函数:afx_msg void OnTest(WPARAM wParam,LPARAM lParam);...主线程发送消息的代码: m_param.pDoc=pDoc; m_param.pSpecAnlyz=m_pSpecAnlyz; // 

C++实现CString和string的互相转换

CString->std::string 例子: CString strMfc=“test“; std::string strStl; strStl=strMfc.GetBuffer(0); unicode情形下: CStringW strw = _T("test"); CStringA stra(strw.GetBuffer(0));...

C++读取BIN文件的一些问题

程序要求读取一个ARM的BIN文件,需要获取每一个字节,写了一个函数测试一下: 文件: 由于不熟悉,弄出了很多...BIN文件不以ASCII码存放数据,它将内存数据存储形式不加转换地传送到磁盘文件,因此它又称为...

Matlab与C/C++联合编程之从Matlab调用C/C++代码

利用Matlab与VC++联合编程,既可C语言程序打开Matlab引擎,调用Matlab的ToolBox函数和作图函数,也可Matlab调用C代码生成的动态链接库文件,用以加快执行速度、缩短开发周期,取得更好的效果。MATLAB与C语言...

MFC类成员函数作为线程函数的解决办法

2009-10-04 - [开发语言]版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://efaq.blogbus.com/logs/47605752.htmlWin32 API多线程编程例程,建立线程的函数为:HANDLE CreateThread...

VS2013 MFC添加位图

新建位图的时候位图文件名默认为bitmap1.bmp(需要保存);位图的nIDResource默认为IDB_BITMAP1,是资源ID,是...由CBitmap类提供添加位图操作,该类只有LoadBitmap()函数的两种重载形式 1、BOOL LoadBitma

C++中子类与父类之间的值传递即指针传递

这个问题已经困扰了俺好久了,每次用到的时候只是查一些片片断断的知识,趁着星期天,好好总结总结。。...指向子类的指针传给指向父类的指针。  4.指向父类的指针传给指向子类的指针。 1. 子类

C++中修改常量值的方法

可以对类的成员常量进行重新赋值,主要的方法就是通过获取原常量的底层常量指针,使用强制类型转换,将常量指针改变成非常量指针,然后通过非常量指针进行赋值。例子如下class AClass{ private: const int x; i

c++ typedef 函数指针详细说明

http://www.enjoykorea.net/html/25/25-26214.html原帖2地址 http://blog.csdn.net/sharpdew/archive/2006/04/28/694852.aspx 一个函数编译时被分配一个入口地址,将这个入口地址称为函数的指针,可以用一个指针...

相关热词 c# 摘要 c# mvc2 匿名访问 c#qq登录框代码怎么写 c#修改json串 c#string怎么用 c#不包含适用 c# exe 所在路径 c#重载运算符++ add c# list c# 抓取数据