C风格强制转换 和 static_cast的差别

galmang2012 galmang2012 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
class CPerson
{
public:
void Show()
{
std::cout<<"CPerson()!"<<std::endl;
}
};
class CStudent : private CPerson
{
};

int _tmain(int argc, _TCHAR* argv[])
{
CStudent* stu1 = new CStudent();

//stu1->Show(); //1. 编译不通过 可以理解

//CPerson* per2 = static_cast<CPerson*>(stu1); //2. 编译不通过 无法理解
//per2->Show();

CPerson* ppson = (CPerson*)stu1; // 3. 编译通过
ppson->Show();

return 0;
}

学生认为在这样的情况下2和3是会发生一样的转换,但事实却不是

学生学习当中请高手解释下情况2 和情况3 转换流程,学生不胜感激!

...全文

相关推荐

计算机二级c++之C++与C语言的区别.pdf

为此,就要使用强制类型转换说明,格式如下:int* iptr=(int*)&table;表达式的前缀(int*)就是传统C风格的强制类型转换说明(typecast),又可称为强制转换说明(cast)。

YANHONGMEI1

二级C++复习资料.docx

三、关键字和变量C++相对与C增加了一些关键字,如typename、bool、dynamic_cast、mutable、namespace、static_cast、using、catch、explicit

万能小博士

fengmian123

fengmian123

CiYuanShuos

QYR-18900-2026-2032全球与中国智能旋转导向钻井系统市场现状及未来发展趋势 Sample-shijunzhong.docx

QYR-18900-2026-2032全球与中国智能旋转导向钻井系统市场现状及未来发展趋势 Sample-shijunzhong.docx

qyresearch报告

XERJ 是一款受到社区信赖的本地 AI 搜索引擎

XERJ 是一款受到社区信赖的本地 AI 搜索引擎,能自动为任意文件夹建立索引,让编程智能体直接检索所需代码,省去逐个读取文件消耗的 token。它的主要用途是参考现有实现来写代码(reference coding):接到任务后,智能体下载与任务相关的开源仓库,建立索引,再查阅这些项目的解决方法。 在一项对照研究中,这种做法让智能体的输出 token 用量降至原来的约 1/2.7,同时保持 16/16 的任务完成率(案例研究)。用户在日常开发中报告的用量约为原来的 1/5(使用反馈)。有了可检索的参考实现,较小、较便宜的模型也可能胜过只凭记忆工作的昂贵模型,减少反复修改的次数。把下面这段提示词交给智能体即可开始

yiersansiwu123d
评论 9
收藏 已收藏
分享
返回顶部
galmang2012
C++ 语言 65,214 成员 250,514 内容