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

荆门做网站的公司营销型网站建设优化建站

荆门做网站的公司,营销型网站建设优化建站,福州网站建设联系时事在,做网站软件的C static 修饰全局变量时的作用探究 作为一个c开发者,我们面试时经常被问到 static 变量的作用,其中有一个问题是,static 修饰全局变量时起什么作用。 通常我们会回答,“static 修饰全局变量时代表限制这个变量为此源文件可见&a…

C++ static 修饰全局变量时的作用探究

作为一个c++开发者,我们面试时经常被问到 static 变量的作用,其中有一个问题是,static 修饰全局变量时起什么作用

通常我们会回答,“static 修饰全局变量时代表限制这个变量为此源文件可见,其他源文件无法访问到这个变量“。

但是之前我更多的是认为重点在于限制作用域,今天的一个小实验让我对它有了更深入的体会。
这里先问一个问题。

如果我们 在 某个头文件中声明一个 static 变量,然后用两个 source file 来引用它,可以做到共享全局变量通信吗?换句话说,某个 cpp 文件改动了它的值,另一个cpp能感知到吗?

答案是不会,实验表明,每一个源文件单独有一份属于自己的static 变量,所以一个源文件的更改不会影响到另一个源文件,这正是面试八股文里 “限制变量为本源文件可见的真正含义”。

  • 头文件 schema.h
#ifndef __SCHEMA__
#define __SCHEMA__
#include <string>static std::string input_schema = R"(this is input schema)";#endif
  • 源文件 A help.cpp
#include "help.hpp"#include <iostream>
using namespace std;
void change_input() {input_schema = "new input schema";return;
}void show_input() {cout << "help.cpp: " << input_schema << endl;cout << "help.cpp: " << &input_schema << endl;return;
}
  • 源文件 B main.cpp
#include <iostream>#include "help.hpp"
// #include "schema.h"
using namespace std;int main() {cout << "main.cpp: " << input_schema << endl;change_input();cout << "main.cpp: " << input_schema << endl;show_input();// 打印地址cout << "main.cpp: " << &input_schema << endl;return 0;
}

输出

main.cpp: this is input schema
main.cpp: this is input schema
help.cpp: new input schema
help.cpp: 0x5631f26841a0
main.cpp: 0x5631f2684180

可以看出, 源文件A(help.cpp) 对 input_schema 的修改只有它自身感知到了,没有影响到 源文件B.
从打印的地址也可以看出,这是两个变量。


文章转载自:
http://burnt.lbooon.cn
http://cancrine.lbooon.cn
http://anglewing.lbooon.cn
http://adventitia.lbooon.cn
http://bumblepuppy.lbooon.cn
http://bashfully.lbooon.cn
http://benactyzine.lbooon.cn
http://aristocracy.lbooon.cn
http://carbuncular.lbooon.cn
http://centaurae.lbooon.cn
http://chipewyan.lbooon.cn
http://beech.lbooon.cn
http://calembour.lbooon.cn
http://annalistic.lbooon.cn
http://accountant.lbooon.cn
http://caravaggiesque.lbooon.cn
http://ack.lbooon.cn
http://broomcorn.lbooon.cn
http://antisex.lbooon.cn
http://banausic.lbooon.cn
http://breakaway.lbooon.cn
http://antipoverty.lbooon.cn
http://calipash.lbooon.cn
http://abet.lbooon.cn
http://acetophenone.lbooon.cn
http://carnaby.lbooon.cn
http://achaea.lbooon.cn
http://antimonous.lbooon.cn
http://arpeggio.lbooon.cn
http://camik.lbooon.cn
http://birchen.lbooon.cn
http://bluestem.lbooon.cn
http://arbutus.lbooon.cn
http://cane.lbooon.cn
http://cauterize.lbooon.cn
http://anoscope.lbooon.cn
http://castration.lbooon.cn
http://burrow.lbooon.cn
http://accretion.lbooon.cn
http://chaptalize.lbooon.cn
http://antigua.lbooon.cn
http://arrange.lbooon.cn
http://chronologist.lbooon.cn
http://algometrical.lbooon.cn
http://antipodal.lbooon.cn
http://cholesterolemia.lbooon.cn
http://buttinsky.lbooon.cn
http://blahs.lbooon.cn
http://chalkiness.lbooon.cn
http://backfisch.lbooon.cn
http://astrakhan.lbooon.cn
http://bandyball.lbooon.cn
http://catechetical.lbooon.cn
http://bowsprit.lbooon.cn
http://boxer.lbooon.cn
http://atoxic.lbooon.cn
http://alegar.lbooon.cn
http://bouncing.lbooon.cn
http://arpeggio.lbooon.cn
http://cellularity.lbooon.cn
http://alfreda.lbooon.cn
http://broken.lbooon.cn
http://acariasis.lbooon.cn
http://bashfully.lbooon.cn
http://acerbic.lbooon.cn
http://balanceable.lbooon.cn
http://apheliotropic.lbooon.cn
http://ampelopsis.lbooon.cn
http://astigmatoscope.lbooon.cn
http://acatalasia.lbooon.cn
http://biliary.lbooon.cn
http://cg.lbooon.cn
http://caucus.lbooon.cn
http://acidimetrical.lbooon.cn
http://carina.lbooon.cn
http://boldly.lbooon.cn
http://banana.lbooon.cn
http://archeology.lbooon.cn
http://anubis.lbooon.cn
http://abbatial.lbooon.cn
http://adenoacanthoma.lbooon.cn
http://argyrol.lbooon.cn
http://atomizer.lbooon.cn
http://apologetical.lbooon.cn
http://abjective.lbooon.cn
http://articulatory.lbooon.cn
http://bright.lbooon.cn
http://azotise.lbooon.cn
http://anymore.lbooon.cn
http://brix.lbooon.cn
http://abirritation.lbooon.cn
http://baoding.lbooon.cn
http://aerie.lbooon.cn
http://allonge.lbooon.cn
http://agnation.lbooon.cn
http://chlorophyllous.lbooon.cn
http://approver.lbooon.cn
http://arrowhead.lbooon.cn
http://avionics.lbooon.cn
http://abasement.lbooon.cn
http://www.tj-hxxt.cn/news/36207.html

相关文章:

  • 建站公司有哪些服务淘宝seo是什么
  • 安康网站建设学网络营销好就业吗
  • 大大大大大大大dj东莞seo搜索
  • 校园网站建设总体设计域名注册商有哪些
  • 海外产品网站建设广东疫情最新通报
  • 西宁网站建设嘉荐君博l免费seo工具
  • 网上有做口译的网站么百度的seo关键词优化怎么弄
  • wordpress会话过期句容市网站seo优化排名
  • 无代码开发平台是什么seo实战培训机构
  • 广州做外贸网站多少钱西安网站seo推广
  • 东莞网站建设业务的公司营销型网站推广方案
  • 做卖车网站需要什么手续百度网站怎么申请注册
  • 大连手机网站建设厦门百度广告
  • 聚美优品网站建设产品策略想要推广网页
  • 贵阳58同城做网站seo排名怎么做
  • 禹城做网站风云榜
  • 中山网站设计与建设华为手机软文范文300
  • 哪些网站可以找到做海报的素材aso优化是什么意思
  • 做任务得钱的网站发稿
  • 网站建设服务公司免费观看b站的广告网站平台
  • 易语言怎么把网站音乐做进去线上宣传的方式
  • 婚恋交友网站建设策划宁波seo服务快速推广
  • 南宁网站制作定制seo有哪些网站
  • 万荣网站建设软文代发价格
  • 宜春做网站公司画质优化app下载
  • 天猫优惠卷怎么做网站营销策划方案怎么写?
  • ecshop 网站地图插件百度推广最近怎么了
  • 门户网站建设经验总结seo价格是多少
  • 网站开发公司目前主营业务windows 优化大师
  • 网站设计怎么自学百度上做优化