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

<i id='Bszrq'><tr id='Bszrq'><dt id='Bszrq'><q id='Bszrq'><span id='Bszrq'><b id='Bszrq'><form id='Bszrq'><ins id='Bszrq'></ins><ul id='Bszrq'></ul><sub id='Bszrq'></sub></form><legend id='Bszrq'></legend><bdo id='Bszrq'><pre id='Bszrq'><center id='Bszrq'></center></pre></bdo></b><th id='Bszrq'></th></span></q></dt></tr></i><div class="jmkev8a" id='Bszrq'><tfoot id='Bszrq'></tfoot><dl id='Bszrq'><fieldset id='Bszrq'></fieldset></dl></div>

  1. <legend id='Bszrq'><style id='Bszrq'><dir id='Bszrq'><q id='Bszrq'></q></dir></style></legend>

    <small id='Bszrq'></small><noframes id='Bszrq'>

    <tfoot id='Bszrq'></tfoot>
      <bdo id='Bszrq'></bdo><ul id='Bszrq'></ul>

    1. 當(dāng)沒有異常時,C++ 異常會以何種方式減慢代碼速

      In what ways do C++ exceptions slow down code when there are no exceptions thown?(當(dāng)沒有異常時,C++ 異常會以何種方式減慢代碼速度?)

      <tfoot id='CwSwL'></tfoot>

        <bdo id='CwSwL'></bdo><ul id='CwSwL'></ul>
          1. <i id='CwSwL'><tr id='CwSwL'><dt id='CwSwL'><q id='CwSwL'><span id='CwSwL'><b id='CwSwL'><form id='CwSwL'><ins id='CwSwL'></ins><ul id='CwSwL'></ul><sub id='CwSwL'></sub></form><legend id='CwSwL'></legend><bdo id='CwSwL'><pre id='CwSwL'><center id='CwSwL'></center></pre></bdo></b><th id='CwSwL'></th></span></q></dt></tr></i><div class="y2kmi23" id='CwSwL'><tfoot id='CwSwL'></tfoot><dl id='CwSwL'><fieldset id='CwSwL'></fieldset></dl></div>
                <tbody id='CwSwL'></tbody>

                <small id='CwSwL'></small><noframes id='CwSwL'>

                <legend id='CwSwL'><style id='CwSwL'><dir id='CwSwL'><q id='CwSwL'></q></dir></style></legend>
                本文介紹了當(dāng)沒有異常時,C++ 異常會以何種方式減慢代碼速度?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

                問題描述

                我讀到使用 C++ 異常進(jìn)行異常處理有一些開銷,而不是檢查返回值.我只是在談?wù)摏]有拋出異常時產(chǎn)生的開銷.我還假設(shè)您需要實現(xiàn)實際檢查返回值并執(zhí)行適當(dāng)操作的代碼,無論與 catch 塊所做的操作等效.而且,將拋出異常對象的代碼與其中包含 45 個狀態(tài)變量的代碼進(jìn)行比較,并為每個錯誤返回一個負(fù)整數(shù)的代碼也是不公平的.

                I have read that there is some overhead to using C++ exceptions for exception handling as opposed to, say, checking return values. I'm only talking about overhead that is incurred when no exception is thrown. I'm also assuming that you would need to implement the code that actually checks the return value and does the appropriate thing, whatever would be the equivalent to what the catch block would have done. And, it's also not fair to compare code that throws exception objects with 45 state variables inside to code that returns a negative integer for every error.

                我不是試圖僅僅基于哪個可能執(zhí)行得更快來構(gòu)建支持或反對 C++ 異常的案例.我聽說最近有人提出這樣的案例,一旦您考慮到檢查返回值和處理錯誤所需的所有額外簿記代碼,使用異常的代碼應(yīng)該與基于返回代碼的代碼一樣快地運(yùn)行.我錯過了什么?

                I'm not trying to build a case for or against C++ exceptions solely based on which one might execute faster. I heard someone make the case recently that code using exceptions ought to run just as fast as code based on return codes, once you take into account all the extra bookkeeping code that would be needed to check the return values and handle the errors. What am I missing?

                推薦答案

                某些 平臺和某些 編譯器上的異常處理會產(chǎn)生相關(guān)成本.

                There is a cost associated with exception handling on some platforms and with some compilers.

                也就是說,Visual Studio 在構(gòu)建 32 位目標(biāo)時,將在每個具有非平凡析構(gòu)函數(shù)的局部變量的函數(shù)中注冊一個處理程序.基本上,它設(shè)置了一個 try/finally 處理程序.

                Namely, Visual Studio, when building a 32-bit target, will register a handler in every function that has local variables with non-trivial destructor. Basically, it sets up a try/finally handler.

                gcc 和面向 64 位的 Visual Studio 采用的另一種技術(shù)僅在拋出異常時產(chǎn)生開銷(該技術(shù)涉及遍歷調(diào)用堆棧和表抬頭).在很少拋出異常的情況下,這實際上可以產(chǎn)生更高效的代碼,因為不必處理錯誤代碼.

                The other technique, employed by gcc and Visual Studio targeting 64-bits, only incurs overhead when an exception is thrown (the technique involves traversing the call stack and table lookup). In cases where exceptions are rarely thrown, this can actually lead to a more efficient code, as error codes don't have to be processed.

                這篇關(guān)于當(dāng)沒有異常時,C++ 異常會以何種方式減慢代碼速度?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

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

                相關(guān)文檔推薦

                Why catch an exception as reference-to-const?(為什么要捕獲異常作為對 const 的引用?)
                When and how should I use exception handling?(我應(yīng)該何時以及如何使用異常處理?)
                Scope of exception object in C++(C++中異常對象的范圍)
                Catching exceptions from a constructor#39;s initializer list(從構(gòu)造函數(shù)的初始化列表中捕獲異常)
                Difference between C++03 throw() specifier C++11 noexcept(C++03 throw() 說明符 C++11 noexcept 之間的區(qū)別)
                Should the exception thrown by boost::asio::io_service::run() be caught?(應(yīng)該捕獲 boost::asio::io_service::run() 拋出的異常嗎?)
                  <tbody id='DRVw9'></tbody>
                • <legend id='DRVw9'><style id='DRVw9'><dir id='DRVw9'><q id='DRVw9'></q></dir></style></legend>
                  <tfoot id='DRVw9'></tfoot>

                • <small id='DRVw9'></small><noframes id='DRVw9'>

                    <i id='DRVw9'><tr id='DRVw9'><dt id='DRVw9'><q id='DRVw9'><span id='DRVw9'><b id='DRVw9'><form id='DRVw9'><ins id='DRVw9'></ins><ul id='DRVw9'></ul><sub id='DRVw9'></sub></form><legend id='DRVw9'></legend><bdo id='DRVw9'><pre id='DRVw9'><center id='DRVw9'></center></pre></bdo></b><th id='DRVw9'></th></span></q></dt></tr></i><div class="tl8lzm8" id='DRVw9'><tfoot id='DRVw9'></tfoot><dl id='DRVw9'><fieldset id='DRVw9'></fieldset></dl></div>
                        <bdo id='DRVw9'></bdo><ul id='DRVw9'></ul>

                          主站蜘蛛池模板: 一体式钢筋扫描仪-楼板测厚仪-裂缝检测仪-泰仕特(北京) | 臭氧灭菌箱-油桶加热箱-原料桶加热融化烘箱-南京腾阳干燥设备厂 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 大白菜官网,大白菜winpe,大白菜U盘装系统, u盘启动盘制作工具 | 浩方智通 - 防关联浏览器 - 跨境电商浏览器 - 云雀浏览器 | 东莞工厂厂房装修_无尘车间施工_钢结构工程安装-广东集景建筑装饰设计工程有限公司 | 电池高低温试验箱-气态冲击箱-双层电池防爆箱|简户百科 | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | 汽车润滑油厂家-机油/润滑油代理-高性能机油-领驰慧润滑科技(河北)有限公司 | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 智能电表|预付费ic卡水电表|nb智能无线远传载波电表-福建百悦信息科技有限公司 | 软装设计-提供软装装饰和软装配饰及软装陈设的软装设计公司 | 博博会2021_中国博物馆及相关产品与技术博览会【博博会】 | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 全国冰箱|空调|洗衣机|热水器|燃气灶维修服务平台-百修家电 | 考勤系统_人事考勤管理系统_本地部署BS考勤系统_考勤软件_天时考勤管理专家 | ERP企业管理系统永久免费版_在线ERP系统_OA办公_云版软件官网 | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | 企业彩铃制作_移动、联通、电信集团彩铃上传开通_彩铃定制_商务彩铃管理平台-集团彩铃网 | 浙江富广阀门有限公司 | 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 苏州工作服定做-工作服定制-工作服厂家网站-尺品服饰科技(苏州)有限公司 | 包头市鑫枫装饰有限公司| 细砂提取机,隔膜板框泥浆污泥压滤机,螺旋洗砂机设备,轮式洗砂机械,机制砂,圆锥颚式反击式破碎机,振动筛,滚筒筛,喂料机- 上海重睿环保设备有限公司 | 大型果蔬切片机-水果冬瓜削皮机-洗菜机切菜机-肇庆市凤翔餐饮设备有限公司 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 万家财经_财经新闻_在线财经资讯网 | 淘剧影院_海量最新电视剧,免费高清电影随心观看 | HV全空气系统_杭州暖通公司—杭州斯培尔冷暖设备有限公司 | 山东彩钢板房,山东彩钢活动房,临沂彩钢房-临沂市贵通钢结构工程有限公司 | 婚博会2024时间表_婚博会门票领取_婚博会地址-婚博会官网 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 紧急切断阀_气动切断阀_不锈钢阀门_截止阀_球阀_蝶阀_闸阀-上海上兆阀门制造有限公司 | 折弯机-刨槽机-数控折弯机-数控刨槽机-数控折弯机厂家-深圳豐科机械有限公司 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 岸电电源-60HZ变频电源-大功率变频电源-济南诚雅电子科技有限公司 | 不锈钢反应釜,不锈钢反应釜厂家-价格-威海鑫泰化工机械有限公司 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 安全阀_弹簧式安全阀_美标安全阀_工业冷冻安全阀厂家-中国·阿司米阀门有限公司 |