
C++
程画
学生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
谈谈C++的四种“cast”类型转换
相比于传统的类型转换,C++中的4种cast作用更加明确,使代码更具有可读性,下面就来依次介绍一下:1.static_cast任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast,这几乎就是传统类型转换的替代(为什么是几乎,下文会提到),比如:double a=10;int b = static_cast<int>(a);相比于传统...原创 2019-07-11 23:31:48 · 1617 阅读 · 1 评论 -
C++虚继承下带有虚函数的类的大小(含多重虚继承,虚继承后完全覆盖等复杂情况)
带有虚函数的虚继承的对象模型比较复杂,所以来整理一下。以下讨论均在visual studio2017以及64位环境的前提下进行;1.带有虚函数的类class A{public: int a_; virtual void foo1() { cout << "A1" << endl; } virtual void foo2() { cout <<...原创 2019-08-20 23:56:27 · 1046 阅读 · 2 评论 -
C++虚表详解
使用工具:本文输出内存模型的工具为vs2017开发人员命令提示符,使用方法如图所示:我们使用cl(不是C1,不是C一,是cl,LLLLL)命令cl的语法为:cl [filename].cpp /d1reportSingleClassLayout[className]意思是查看[filename].cpp文件中名称以[className]开头的所有类的内存模型如果文件不在同一...原创 2019-09-03 17:24:04 · 15590 阅读 · 1 评论