| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 652 人关注过本帖
标题:c++的问题,求大神指导!
取消只看楼主 加入收藏
hjy88168
Rank: 2
等 级:禁止访问
帖 子:37
专家分:13
注 册:2011-10-13
结帖率:53.85%
收藏
已结贴  问题点数:10 回复次数:1 
c++的问题,求大神指导!
是这样,我想通过共享内存开辟一块空间用来建造一个List的容器,用MapViewOfFile后,返回的就是这片空间的指针,然后我转换成List(struct) *类型

问题出来了,我用List(struct) *类型的指针->没有begin(),end()等的方法,只有struct结构下的成员,求大神指导这种情况怎么处理?
搜索更多相关主题的帖子: 空间 
2013-02-16 18:10
hjy88168
Rank: 2
等 级:禁止访问
帖 子:37
专家分:13
注 册:2011-10-13
收藏
得分:0 
回复 2楼 maoguoqing
是我描述的不够详细,我自定义了一个struct的类型的结构假设是A,我用MapViewOfFile返回申请的这块内存空间的首地址后强转为list<A> *的类型,本意是想把这块内存当成一个List 链表使用,本应该是List容器的指针,但是发现这个指针->后,下面只有A下面我自己定义的成员,而没有list的方法,比如begin(),end()等等,不知道为什么会出现这种状况?

另外,刚才您讲的MapViewOfFile返回的空间并没有调用构造函数,说到这里我似乎理解到了点编程的真谛,请您能否在这里多阐述阐述,说的仔细些~~

我一直以为包括MapViewOfFile,malloc,new什么的,申请开辟空间都,都是未初始化的,通过强转成某一个类型的指针后,这块内存就被分割成对用的结构,存放和读取数据的时候,也按照这个结构里的成员来进行,比如前四个字节放Int,第五个字节放char等等,但这些数据都是放在堆区,跟我们所定义一个对象放在栈区的东西不一样,这里我只知道这样定义的话会调用构造函数,而堆区的东西不调用构造函数,仅仅通过强转成某一类型的指针达不到目的。

不知道我的理解有什么误区,还请您多点拨一二~~谢谢
2013-02-18 17:14
快速回复:c++的问题,求大神指导!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011790 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved