当前位置: 首页 > news >正文

seo网站页面f布局腾讯云wordpress怎么解析域名

seo网站页面f布局,腾讯云wordpress怎么解析域名,建立网站有怎么用途,装潢设计图片C 对象模型 C Object Model 文章目录 C 对象模型 C Object ModelC语言的数据及函数C的类C对象模型 C语言的数据及函数 C语言中,数据和函数是分开声明的。 数据 typedef struct point2d {float x;float y; } Point2d;函数 打印Point2d的数值 void Point2d_print…

C++ 对象模型 C++ Object Model

文章目录

  • C++ 对象模型 C++ Object Model
    • C语言的数据及函数
    • C++的类
    • C++对象模型

C语言的数据及函数

C语言中,数据和函数是分开声明的。

  • 数据
typedef struct point2d
{float x;float y;
} Point2d;
  • 函数

打印Point2d的数值

void Point2d_print(const Point2d * pd)
{printf("(%f, %f)", pd->x, pd->y);
}

C++的类

同样实现C语言的功能,C++中可以进行如下定义

class Point2d
{Point2d(float x, float y):m_x(x), m_y(y){}print(){printf("(%f, %f)", m_x, m_y);}private:float m_x;float m_y;
};

问题:Point2d从C到C++,内存布局上有啥变化呢?

答案是没有变化。
本例中,C++ 中的数据成员和C中一样,不一样的是C++中多了一个非静态成员函数print,但非静态成员函数与数据成员是分离的,并不占用类的大小。也就是说print函数的调用实际为print(Point2d* pd),就如同C语言的Point2d_print调用。

C++内存布局的额外负担有virtual引起,主要包好虚函数(virtual function)和虚基类(virtual base class)。

C++对象模型

C++中,
类数据成员有两种:静态(static) 和 非静态(nonstatic)
类成员函数有三种:静态函数(static)、非静态函数(nonstatic) 和 虚函数(virtual)

C++对象模型:

  1. 非静态(nonstatic)数据成员在类内部
  2. 静态(static)在类外部
  3. 静态函数(static)和非静态函数(nonstatic)在类外部
  4. 虚函数(virtual):
    a. 每个类产生一堆指向虚函数的指针,放在虚表(virtual table, vtbl)
    b. 每个类对象添加一个指向虚表的指针(vptr)。
    c. 每个类的type_info(用于支持RTTI)也由虚表指定,一般位于第一个slot处。
class Point2d
{Point2d(float x, float y):m_x(x), m_y(y),m_pointCount(2){}virtual ~Point2d(){}static int getPointCount(){return m_pointCount;}print(){printf("(%f, %f)", m_x, m_y);}private:float m_x;float m_y;static int m_pointCount;
};

上述代码的C++对象模型如下

+---------------+
|  float m_x;   |            virtual table
+---------------+
|  float m_y;   |          +---------------+
+---------------+          |               |      +--------------------+
|  vptr Point2d +---------->               +------> type_info(RTTI     |
+---------------+          +---------------+      +--------------------+|               |      +--------------------+Point2d pt2;            |               +------> Point2d::~Point2d()|+---------------+      +--------------------++-------------------------------------+       +------------------------------------+
| static int Point2d::m_pointCount    |       | Point2d::Point2d(float x, float y) |
+-------------------------------------+       +------------------------------------++-------------------------------------+       +------------------------------------+
| static int Point2d::getPointCount() |       | Point2d::print()                   |
+-------------------------------------+       +------------------------------------+

Reference:

  1. 深度探索C++对象模型
http://www.yayakq.cn/news/681431/

相关文章:

  • 澎湃动力网站建设公司网络营销外包
  • 网站开发环境有哪些php怎么去创建一个公司
  • 企业建站系统 哪个好北京网站设计的公司
  • 做播放器电影网站需要多少钱6网站地图在线制作工具
  • 遵义市播州区建设厅网站如何在网上推广自己的公司
  • 兰州网站制作联系方式苏州网站建设规划
  • 建设网站的优势促销方法100种
  • 网页做好怎么变成网站建设一个网站要多少钱
  • 网站平台建设目标如何自己做网站做淘宝客
  • 从什么网站找做游戏的代码用什么软件制作网站
  • 母婴网站设计开发移动平台3g手机网站前端开发布局技巧汇总
  • 南通网站建设排名公司如何解析到凡科建设的网站
  • 深圳网站建设微信开发ui设计培训平台
  • 网站推广联盟一家做特卖的网站叫什么
  • 沥林行业网站建设深圳做自适应网站公司
  • 做培训体系的网站涿州网站建设涿州
  • 官方网站aspcms建设部网站查询注册岩土工程师
  • 免费自助建站系统平台 贴吧网站技术可行性
  • 威海有名的做网站页面设计怎么样
  • 建设优秀企业网站苗木网站模版
  • 旅行社网站规划与建设的流程图京东商城网站地址是多少
  • 做什么网站赚钱最快哪些网站做电商比较好
  • 免费网站模版 优帮云兰州网页设计最新招聘信息
  • 网站是做推广好还是优化好做网站如何防止被骗
  • 将网站制作成appwordpress附件数据库
  • 网站建设需要的框架结构泰安网站开发公司
  • 360建设网站免费wordpress 导入插件
  • iis 调用wordpress广州网站优化推广
  • 网站建好了还需要什么维护优客教育网页制作教程
  • ui图标素材网站小程序模板网 凡平台