对地址调用构造函数

maiomaio 2008-04-08 02:51:08
hMapFile=CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE,0,sizeof(CData),"sharedMemory");
lpMapAddr=(LPSTR)MapViewOfFile(hMapFile,FILE_MAP_WRITE,0,0,0);
我怎么对返回的地址lpMapAddr调用CData的默认构造函数,CData为我自己定义的类,有写自己的默认构造函数
...全文
146 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mymtom 2008-04-08
  • 打赏
  • 举报
回复
没有这么用过!
帮顶
maiomaio 2008-04-08
  • 打赏
  • 举报
回复
我要创建映射文件来进程间通信
hMapFile=CreateFileMapping();
MapViewOfFile(hMapFile,FILE_MAP_WRITE,0,0,0);
我要往映射文件写数据,有很多个不同数据,我打算封装成一个类.然后,因为需要冗余,所以还要弄成一个类,其中包含用来判断读或写到哪的index,
但是怎么把映射来的内存当成这种类对待呢,还是只能按类的格式往里面写数据
maiomaio 2008-04-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 maiomaio 的帖子:]
hMapFile=CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE,0,sizeof(CData),"sharedMemory");
lpMapAddr=(LPSTR)MapViewOfFile(hMapFile,FILE_MAP_WRITE,0,0,0);
我怎么对返回的地址lpMapAddr调用CData的默认构造函数,CData为我自己定义的类,有写自己的默认构造函数
[/Quote]
你的意思是不是应该把那块内存当做一个类对对待,用类来管理只能是一种对待内存的心态?而不是真正的方法
maiomaio 2008-04-08
  • 打赏
  • 举报
回复
我是要用映射文件的方法来进行,进程间的通信,但是我往映射文件写的数据,需要冗余并且IP是不变的,所以我打算用CData管理,来怎么做
maiomaio 2008-04-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 taodm 的回复:]
你应该依据地址内的数据构造出你要的对象,而不是强行把这个地址想办法直接转换成对象。
[/Quote]
这块内存我是打算用来写数据,因为要传输数据,所以打算用自己定义的类来管理数据
struct CDataItem
{
char m_strWndName[80];
};

class CData
{
private:
CDataItem m_dataItem[100];
DWORD m_dwIndex;
char[16] m_strIP;
public:
Data();
void WriteData();
void ReadData();
};
因为我要传输的数据,有些是不变的,有些是变化的,所以就打算用构造函数把不会变的数据初始化好
依据地址内的数据构造出你要的对象,是什么意思
effective_person 2008-04-08
  • 打赏
  • 举报
回复
调用CData的默认构造函数
调用构造函数?
构造函数是在使用类的定义变量 的采用的。怎么让一个 外变量调用呢?
----
你可以自己写一个函数
CData
{
..
CData()
{
cdata()//构造函数调用这个函数
}

}
....
写个函数
参数为lpMapAddr
调用 cdata
这样也可以!
taodm 2008-04-08
  • 打赏
  • 举报
回复
你应该依据地址内的数据构造出你要的对象,而不是强行把这个地址想办法直接转换成对象。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧