| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 328 人关注过本帖
标题:请教转换问题
只看楼主 加入收藏
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
收藏
 问题点数:0 回复次数:2 
请教转换问题

reinterpret_case是什么意思呢?
static_cast是什么意思呢?

2006-08-25 20:55
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 
http://bbs.

2006-08-25 21:02
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
收藏
得分:0 
#include<iostream>
#include<string>
using namespace std;
const int N=5;
class Frame
{
public:
Frame(string& s){str=s;print();}
void* operator new(size_t);
void operator delete(void*);
void print();
private:
string str;
};
Frame* f;
string s[N * sizeof(Frame)];
void* Frame::operator new(size_t size)
{
f = reinterpret_cast<Frame*>(s);//
//for(int i=0;i<N;i++)
//{
return f;
//}
}
void Frame::operator delete(void *p)
{
int j=static_cast<string*>(p)-s;//
j /= sizeof(Frame);
}
void Frame::print()
{
cout<<str<<" \n";
}
void main()
{
Frame *frame[N];
string name[N]={"s1","s2","s3","s4","s5"};
for(int i=0;i<N;i++)
{
cout<<"creat"<<i+1<<" ";
frame[i]=new Frame(name[i]);
}
for(int j=0;j<N;j++)
{
cout<<"delete"<<j+1<<" ";
delete frame[j];
}
}
在这里,为什么用f = reinterpret_cast<Frame*>(s);和int j=static_cast<string*>(p)-s;不用就错了,能说下这两句话在这段代码里的做用吗?
2006-08-25 21:39
快速回复:请教转换问题
数据加载中...
 
   



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

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