pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

為什么全局變量和靜態(tài)變量被初始化為它們的默

Why are global and static variables initialized to their default values?(為什么全局變量和靜態(tài)變量被初始化為它們的默認值?)
本文介紹了為什么全局變量和靜態(tài)變量被初始化為它們的默認值?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

在 C/C++ 中,為什么將全局變量和靜態(tài)變量初始化為默認值?

In C/C++, why are globals and static variables initialized to default values?

為什么不只留下垃圾值呢?有什么特別的嗎這是什么原因?

Why not leave it with just garbage values? Are there any special reasons for this?

推薦答案

  1. 安全:單獨保留內存會泄漏其他進程或內核的信息.

  1. Security: leaving memory alone would leak information from other processes or the kernel.

效率:這些值在初始化為某些東西之前是無用的,并且在具有展開循環(huán)的塊中將它們歸零更有效.操作系統(tǒng)甚至可以在系統(tǒng)空閑時將空閑列表頁面歸零,而不是在某些客戶端或用戶等待程序啟動時.

Efficiency: the values are useless until initialized to something, and it's more efficient to zero them in a block with unrolled loops. The OS can even zero freelist pages when the system is otherwise idle, rather than when some client or user is waiting for the program to start.

可再現性:不考慮這些值會使程序行為不可重復,從而導致很難發(fā)現錯誤.

Reproducibility: leaving the values alone would make program behavior non-repeatable, making bugs really hard to find.

優(yōu)雅:如果程序可以從 0 開始,而不必使用默認初始化程序使代碼混亂,那就更干凈了.

Elegance: it's cleaner if programs can start from 0 without having to clutter the code with default initializers.

然后人們可能想知道為什么 auto 存儲類 確實 開始時是垃圾.答案有兩個:

One might then wonder why the auto storage class does start as garbage. The answer is two-fold:

  1. 它沒有,在某種意義上.每個級別的第一個堆棧幀頁面(即添加到堆棧的每個新頁面)確實收到零值.同一堆棧級別的后續(xù)函數實例看到的垃圾"或未初始化"值實際上是您自己的程序及其庫的其他方法實例留下的先前值.

  1. It doesn't, in a sense. The very first stack frame page at each level (i.e., every new page added to the stack) does receive zero values. The "garbage", or "uninitialized" values that subsequent function instances at the same stack level see are really the previous values left by other method instances of your own program and its library.

可能會有二次(或其他)運行時性能損失與將 auto(函數局部變量)初始化為任何內容相關聯(lián).一個函數可能不會使用任何或所有大數組,比如說,在任何給定的調用中,它可能被調用數千或數百萬次.靜態(tài)和全局的初始化,OTOH,只需要發(fā)生一次.

There might be a quadratic (or whatever) runtime performance penalty associated with initializing auto (function locals) to anything. A function might not use any or all of a large array, say, on any given call, and it could be invoked thousands or millions of times. The initialization of statics and globals, OTOH, only needs to happen once.

這篇關于為什么全局變量和靜態(tài)變量被初始化為它們的默認值?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯(lián)網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯(lián)系我們刪除處理,感謝您的支持!

相關文檔推薦

boost_1_60_0 .zip installation in windows(Windows 中的 boost_1_60_0 .zip 安裝)
How do I get console output in C++ with a Windows program?(如何使用 Windows 程序在 C++ 中獲得控制臺輸出?)
How do I calculate the week number given a date?(如何計算給定日期的周數?)
OpenCV with Network Cameras(帶有網絡攝像機的 OpenCV)
Export all symbols when creating a DLL(創(chuàng)建 DLL 時導出所有符號)
Getting started with OpenCV 2.4 and MinGW on Windows 7(Windows 7 上的 OpenCV 2.4 和 MinGW 入門)
主站蜘蛛池模板: 叉车电池-叉车电瓶-叉车蓄电池-铅酸蓄电池-电动叉车蓄电池生产厂家 | 酒店厨房设计_中央厨房设计_北京商用厨房设计公司-奇能商厨 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 铆钉机|旋铆机|东莞旋铆机厂家|鸿佰专业生产气压/油压/自动铆钉机 | 客服外包专业服务商_客服外包中心_网萌科技 | 美侍宠物-专注宠物狗及宠物猫训练|喂养|医疗|繁育|品种|价格 | 山东石英砂过滤器,除氟过滤器「价格低」-淄博胜达水处理 | 高压微雾加湿器_工业加湿器_温室喷雾-昌润空气净化设备 | 越南专线物流_东莞国际物流_东南亚专线物流_行通物流 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 低气压试验箱_高低温低气压试验箱_低气压实验箱 |林频试验设备品牌 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 自清洗过滤器,浅层砂过滤器,叠片过滤器厂家-新乡市宇清净化 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 连栋温室大棚建造厂家-智能玻璃温室-薄膜温室_青州市亿诚农业科技 | 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 电动不锈钢套筒阀-球面偏置气动钟阀-三通换向阀止回阀-永嘉鸿宇阀门有限公司 | 天津次氯酸钠酸钙溶液-天津氢氧化钠厂家-天津市辅仁化工有限公司 | 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 高铝砖-高铝耐火球-高铝耐火砖生产厂家-价格【荣盛耐材】 | 保温杯,儿童婴童奶瓶,运动水壶「广告礼品杯定制厂家」超朗保温杯壶 | 微水泥_硅藻泥_艺术涂料_艺术漆_艺术漆加盟-青岛泥之韵环保壁材 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 激光内雕_led玻璃_发光玻璃_内雕玻璃_导光玻璃-石家庄明晨三维科技有限公司 激光内雕-内雕玻璃-发光玻璃 | 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | 化妆品加工厂-化妆品加工-化妆品代加工-面膜加工-广东欧泉生化科技有限公司 | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 半容积式换热器_北京浮动盘管换热器厂家|北京亿丰上达 | 光环国际-新三板公司_股票代码:838504 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 产业规划_产业园区规划-产业投资选址及规划招商托管一体化服务商-中机院产业园区规划网 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 连栋温室大棚建造厂家-智能玻璃温室-薄膜温室_青州市亿诚农业科技 | 微型实验室真空泵-无油干式真空泵-微型涡旋耐腐蚀压缩机-思科涡旋科技(杭州)有限公司 | 运动木地板价格,篮球馆体育运动木地板生产厂家_欧氏地板 | 塑料熔指仪-塑料熔融指数仪-熔体流动速率试验机-广东宏拓仪器科技有限公司 | 短信营销平台_短信群发平台_106短信发送平台-河南路尚 | 公交驾校-北京公交驾校欢迎您!|