日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
闡述C++編譯器變量進行優(yōu)化說明

在大多數(shù)情況下,把變量緩存在寄存器中是一個非常有價值的優(yōu)化方法,如果不用的話很可惜。C++編譯器提供了顯式禁用這種緩存優(yōu)化的機會。如果你聲明變量是使用了volatile修飾符,編譯器就不會把這個變量緩存在寄存器里——每次訪問都將去存取變量在內(nèi)存中的實際位置。

10多年的烏恰網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。網(wǎng)絡營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整烏恰建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“烏恰網(wǎng)站設計”,“烏恰網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

防止了C++編譯器對所修飾的變量進行優(yōu)化。主要應用于多線程編程。volatile 可以用于修飾原生類型也可用于自定義類型。volatile 雖與const的語義不同但用法類似。

 
 
 
  1. class Gadget  
  2. {  
  3. public:  
  4.  void Foo() volatile{};  
  5.  void Bar() const{};   
  6.  void Doo(){};  
  7. //private:  
  8.     char name_;  
  9.     int state_;  
  10. }; 

若定義一個對象為const:const Gadget  cGadget; 說明cGadget對象的成員變量的值不可更改。所以要求該對象只能調(diào)用接口中的const型的成員函數(shù)。即要求其可調(diào)用的接口不能修改其成員變量的值,該成員函數(shù)必須為const型。即:

 
 
 
  1. class Gadget  
  2. {  
  3. public:  
  4.  void Foo() volatile{};  
  5.  void Bar() const{};   
  6.  void Doo(){};  
  7. //private:  
  8.     char name_;  
  9.     int state_;  
  10. }; 

因為const型變量要求其可調(diào)用接口為const型,而對象之間賦值需要調(diào)用其賦值函數(shù),C++編譯器的賦值函數(shù)并非是const型,因此重載成了必然??墒怯袀€可笑的問題是,const型對象是要求不能更改成員變量的值,但賦值是為了改變其值。

所以賦值函數(shù)(考貝構(gòu)造函數(shù))不能為變量賦值。只要不在賦值函數(shù)(考貝構(gòu)造函數(shù))里為變量賦值是可以編譯通過的。但這毫無意義,說這個只是為volatile,因為volatile于const操作是一樣的,只是volatile是可以更改成員變量值,所以這里不成問題。

該運算符把expression轉(zhuǎn)換為type-id類型,但沒有運行時類型檢查來保證轉(zhuǎn)換的安全性。它主要有如下幾種用法:
①用于類層次結(jié)構(gòu)中基類和子類之間指針或引用的轉(zhuǎn)換。進行上行轉(zhuǎn)換(把子類的指針或引用轉(zhuǎn)換成基類表示)是安全的;進行下行轉(zhuǎn)換(把基類指針或引用轉(zhuǎn)換成子類表示)時,由于沒有動態(tài)類型檢查,所以是不安全的。
②用于基本數(shù)據(jù)類型之間的轉(zhuǎn)換,如把int轉(zhuǎn)換成char,把int轉(zhuǎn)換成enum。這種轉(zhuǎn)換的安全性也要開發(fā)人員來保證。
③把空指針轉(zhuǎn)換成目標類型的空指針。#t#
④把任何類型的表達式轉(zhuǎn)換成void類型。

注意:C++編譯器不能轉(zhuǎn)換掉expression的const、volitale、或者__unaligned屬性。


文章標題:闡述C++編譯器變量進行優(yōu)化說明
本文網(wǎng)址:http://www.5511xx.com/article/dpohhij.html