双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

大家都来讨论一下C++中的类型转换机制!!

caizhiyi123 caizhiyi123 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在学习C++的过程中,有一个问题我不太明白,就是有关类型转换的机制问题.这样的问题相信大家也见得比较多.到底类型转换是怎样实现的.我希望得到比较完整的答复!!请各位高手不吝赐教.
1.char c='a';
double d=(double)a;//or
double d=double(a);
这种简单的类型转换是怎样实现的.它们在内存中的布局会有什么变化?
2.class A
{
public:
A(){cout<<"A ctor"<<endl;}
~A(){cout<<"A dtor"<<endl;}
virtual void fn();
};
class B:public A
{
public:
B(){cout<<"B ctor"<<endl;}
~B(){cout<<"B dtor"<<endl;}
void fn();
};
int main()
{
B b;
B *p=&b;
p->fn();
(A*)(&p)->fn();//这里是怎样转化的?在内存中有何变化?
return 0;
}
3.多重继承中的路径转化如何实现?etc....



...全文
评论 5
收藏 已收藏
分享
返回顶部
caizhiyi123
C++ 语言 65,214 成员 250,514 内容