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

邮编域名做网站百度广告一级代理

邮编域名做网站,百度广告一级代理,手机网站营销方案,短网址生成器 python当我们如下声明了一个类: class A{public:static int sti_data;// 这个语句在c11前不能通过编译,在c11的新标准下,已经能够在声明一个普通变量是就对其进行初始化。int a 10;static const int b 1;//...其他member };// 在类外…

当我们如下声明了一个类:

class A{public:static int sti_data;// 这个语句在c++11前不能通过编译,在c++11的新标准下,已经能够在声明一个普通变量是就对其进行初始化。int a = 10static const int b = 1;//...其他member
};// 在类外定义静态成员变量并分配内存
int A::sti_data = 10;

上述的类只是声明了而已,并不是在系统中实际存在,要使用一个类,必须在系统中分配内存,也就是实例化出一个对象,比如:

int main () {A a;
}

为了明白为什么类的非const静态变量一定要在类的外边定义:

  • 首先,需要搞清楚,文件中的类A的写法只是声明类A实现形式,在我们没有实例化一个类对象前,系统中不存在分配给类A的内存。同理,我们实例化了N个类A的对象,系统分配了N个A大小的内存。
  • 其次,静态数据成员是一个类共有的,而不是一个对象独有,整个程序中只有一份静态数据成员的内存。
  • 假如,我们不对静态成员变量进行与普通成员变量不同的处理,而是一样能在类的声明里事先定义并初始化好静态成员变量(也就是声明时给定一个初始值,等真正实例化一个对象时便用事先给定的初始值初始化这个变量):static int sti_data = 1;,这意味着,每个我们实例化的类对象,都存在一个分配给静态成员变量的内存,这将导致在内存中存在多个同名的静态变量,这与静态变量的唯一性矛盾,必然编译不通过。
  • 从实现来看,编译器确实能做到,每次实例化一个类对象时判断类中的静态变量是否已经定义过,但很显然,这么做的成本太高,还不如直接强制要求不能在类中对非const静态变量进行定义并初始化,而是只能声明。
  • 至于为什么const静态变量能够在类内直接定义,因为static const 成员变量会被编译器优化,为编译期常量,编译器不会为其分配内存,更像是宏定义那样,在编译期时,在使用它的地方,用它的值替换它,这一点可以通过代码看到,若我们在类中定义一个static const 成员变量,我们可以打印出它的值,却不能打印出它的地址,因为编译器并没有给它分配内存。
  • 因此,c++要求,非const静态变量一定要在类外定义。

为什么(普通或类的)函数里的静态变量能够事先初始化
这个问题主要时为了与第一个问题进行对比,加深理解。
原因很简单,每个的函数,无论是否静态,是否是成员函数还是普通函数,程序在编译时,会给每个函数分配内存,同时一个函数在程序里只有一份内存,这与类在实例化一个对象时才分配内存是有本质上的区别的。这时,对于函数的静态变量而言,只需要把静态变量的内存分配到静态区就能做到在程序的生命周期里不随着函数的调用而被构造或者销毁。

http://www.hkea.cn/news/962176/

相关文章:

  • 单位网站建设目的西安网站建设公司排行榜
  • 福州制作网站软件无人在线观看高清视频单曲直播
  • 建设银行卡网站百度账号登录个人中心
  • 网站显示500错误怎么解决方法seo网站推广排名
  • 广告免费设计在线生成网站排名优化
  • 余姚公司网站建设怎么建网址
  • 网站域名授权怎么做市场营销案例100例
  • kindeditor代码高亮 wordpressseo优化排名经验
  • 家乡介绍网页设计上海网站排名优化
  • 广州黄埔网站制作百度sem是什么意思
  • 网站流量分析网站网络推广营销网
  • 化妆品网站建设计划书网站维护是什么意思
  • 建设局网站公告宣传推广的形式有哪些
  • 网站基本架构设计的主要步骤什么软件可以排名次
  • 代做毕业设计网站多少钱网站推广交换链接
  • 苹果指争议广告lg广告北京seo公司网站
  • flash网站制作公司能打开各种网站的浏览器下载
  • 网站开发是叫系统吗站长工具seo排名查询
  • 站长之家html模板西安网站seo技术厂家
  • 重庆网站建设 渝seo交流论坛
  • 洛阳市网站建设宁波seo网络推广软件系统
  • 做网站用建站模版好还是定制好百度站点
  • 关注济南网站建设深圳市企业网站seo
  • 安溪县住房和城乡建设网站色盲
  • 合肥做英文网站今日头条国际军事新闻
  • 西安有哪些做网站的公司好邵阳疫情最新消息
  • asia域名的网站竞价广告
  • 怎么注册公司支付宝账号seo求职信息
  • 多语言网站怎么做网络推广平台公司
  • 山东公司注册网站怎样写营销策划方案