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

网站设计岗位的职责与要求主要推广手段免费

网站设计岗位的职责与要求,主要推广手段免费,网站公安备案信息代码怎么获取,简述网站建设的标准C中将 sizeof() 用于类 您知道,通过使用关键字 class 声明自定义类型,可封装数据属性和使用数据的方法。运算符 sizeof( )用于确定指定类型需要多少内存,单位为字节。这个运算符也可用于类,在这种情况下,它将指出类声…

C++中将 sizeof() 用于类

您知道,通过使用关键字 class 声明自定义类型,可封装数据属性和使用数据的方法。运算符 sizeof( )用于确定指定类型需要多少内存,单位为字节。这个运算符也可用于类,在这种情况下,它将指出类声明中所有数据属性占用的总内存量,单位为字节。 sizeof( )可能对某些属性进行填充,使其与字边界对齐,也可能不这样做,这取决于您使用的编译器。用于类时, sizeof() 不考虑成员函数及其定义的局部变量,如以下示例程序所示:

#include <iostream>
#include <string.h>
using namespace std;class MyString
{
private:char* buffer;public:MyString(const char* initString) // default constructor{buffer = NULL;if(initString != NULL){buffer = new char [strlen(initString) + 1];strcpy(buffer, initString);}}MyString(const MyString& copySource) // copy constructor{buffer = NULL;if(copySource.buffer != NULL){buffer = new char [strlen(copySource.buffer) + 1];strcpy(buffer, copySource.buffer);}}~MyString(){delete [] buffer;}int GetLength() { return strlen(buffer); }const char* GetString(){ return buffer; }
};class Human
{
private:int age;bool gender;MyString name;public:Human(const MyString& InputName, int InputAge, bool InputGender): name(InputName), age (InputAge), gender(InputGender) {}int GetAge (){ return age; }
};int main()
{MyString mansName("Adam");MyString womansName("Eve");cout << "sizeof(MyString) = " << sizeof(MyString) << endl;cout << "sizeof(mansName) = " << sizeof(mansName) << endl;cout << "sizeof(womansName) = " << sizeof(womansName) << endl;Human firstMan(mansName, 25, true);Human firstWoman(womansName, 18, false);cout << "sizeof(Human) = " << sizeof(Human) << endl;cout << "sizeof(firstMan) = " << sizeof(firstMan) << endl;cout << "sizeof(firstWoman) = " << sizeof(firstWoman) << endl;return 0;
}

使用 32 位编译器的输出:

sizeof(MyString) = 4
sizeof(mansName) = 4
sizeof(womansName) = 4
sizeof(Human) = 12
sizeof(firstMan) = 12
sizeof(firstWoman) = 12

使用 64 位编译器的输出:

sizeof(MyString) = 8
sizeof(mansName) = 8
sizeof(womansName) = 8
sizeof(Human) = 16
sizeof(firstMan) = 16
sizeof(firstWoman) = 16

分析:
这个示例很长,它包含 MyString 类和 Human 类。其中的 Human 类使用 MyString 对象来存储姓名( name),并新增了 bool 数据成员 gender。
首先来分析输出。从中可知,将 sizeof( )用于类及其对象时,结果相同。 sizeof(MyString) 和 sizeof(mansName)的值相同,因为类占用的字节数在编译阶段就已确定。虽然 mansName 包含 Adam,而 womanName 包含 Eve,但它们占用的字节数相同,这没什么可奇怪的,因为存储姓名的 MyString::buffer 是一个 char *,这是一个大小固定的指针(在 32 位系统中,为 4 字节),而与指向的数据量无关。
将 sizeof( )用于 Human 时,结果为 12。第 44~46 行表明, Human 包含一个 int 成员、一个 bool 成员和一个 MyString 成员。要获悉内置类型占用的字节数。从该程序清单可知, int 占用 4 字节, bool 占用 1 字节,而 MyString 占用 4 字节。它们的总和与输出中的 12 字节不符,这是因为 sizeof( )的结果受字填充( word padding)和其他因素的影响。

该文章会更新,欢迎大家批评指正。

推荐一个零声学院的C++服务器开发课程,个人觉得老师讲得不错,
分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容
点击立即学习:C/C++后台高级服务器课程

http://www.mmbaike.com/news/87592.html

相关文章:

  • 效果图网站推荐大全面包砖网上营销
  • 南阳政府做网站推广吗搜索引擎优化的核心是
  • 投票活动网站怎么做朝阳区搜索优化seosem
  • 如何建设网站脱颖而出整站关键词排名优化
  • 济南seo排名搜索网络推广优化seo
  • 建站公司不给源码网络推广技术外包
  • 公司图片seo网站优化专员
  • 无锡网站定制最新seo自动优化软件
  • 重复打开同一个网站怎么做百度推广外包哪家不错
  • 北京医疗网站建设软文代写费用
  • 做网站吗论坛推广平台有哪些
  • 佛山网站建设找千界学电商出来一般干什么工作
  • 平面设计海报作品欣赏排名轻松seo 网站推广
  • 平面设计跟网站建设深圳网站开发
  • 如何制作手机版网站美橙互联建站
  • 怎么做网站盈利seo怎么发外链的
  • 深圳知名网站建设哪家好网站seo快速优化技巧
  • 在日本做色情网站800元做小程序网站
  • 做网站的用处网络推广员为什么做不长
  • 嵌入式和单片机的区别石家庄抖音seo
  • wordpress后台左侧菜单显示东莞seo排名优化
  • 开发工具app长沙seo优化排名
  • 湘潭建网站万能引流软件
  • 百度公司网站怎么建设品牌策划方案模板
  • 做公司做网站有用吗网站收录入口
  • 微信赌博链接网站建设公司网站怎么弄
  • 做家具网站最近一周国内热点新闻
  • 如何用github做网站百度广告优化师
  • python做网站性能广告投放都有哪些平台
  • 南宁网站建设制作定制谷歌seo查询