成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

闡述C++編譯器變量進(jìn)行優(yōu)化說明

開發(fā) 后端
C++編譯器沒有多大的市場。在企業(yè)級的應(yīng)用上,以Java、.NET(C#是其中重要的一員)居多,C++仍然占有一席之地,希望本文能教會你更多東西。

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

防止了C++編譯器對所修飾的變量進(jìn)行優(yōu)化。主要應(yīng)用于多線程編程。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. }; 

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

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

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

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

【編輯推薦】

  1. 如何正確編寫C++項(xiàng)目開發(fā)編寫項(xiàng)目計(jì)劃書
  2. 對C++庫函數(shù)進(jìn)行學(xué)習(xí)探索總結(jié)筆記
  3. 深度演示C++語言的種種高安全性
  4. 詳細(xì)介紹如何準(zhǔn)確無誤的編寫C++語言
  5. 深度演示C++語言的種種高安全性
責(zé)任編輯:chenqingxiang 來源: CSDN
相關(guān)推薦

2010-01-18 10:34:21

C++編譯器

2023-11-15 17:58:58

C++代碼

2010-01-21 09:11:38

C++編譯器

2010-01-18 10:28:15

C++編譯器

2010-01-13 14:35:10

Visual C++

2010-10-20 13:43:37

C++編譯器

2010-01-14 15:29:44

C++編譯器

2010-02-03 13:14:03

C++編譯器命令

2010-01-12 16:42:59

C++編譯器

2010-01-13 09:38:17

C++單元測試

2010-01-21 09:26:53

CC++編譯器

2010-01-27 16:39:48

C++編譯器

2010-01-14 14:55:14

C++編譯器

2009-01-12 10:16:11

Visual C++編譯器選項(xiàng)設(shè)置

2010-01-11 09:28:34

C++編程

2010-01-27 14:48:55

優(yōu)秀C++編譯器

2010-01-13 15:51:44

C++編程語言

2010-01-12 09:39:58

C++語言

2010-01-22 16:55:52

C++編譯器

2010-02-02 17:08:26

Python靜態(tài)編譯器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日本人做爰大片免费观看一老师 | 中文字幕欧美一区 | 欧美精品黄 | 在线午夜| 国产成人免费视频网站高清观看视频 | 最近日韩中文字幕 | 日韩在线成人 | 久草精品视频 | 精品国产第一区二区三区 | 免费视频二区 | 婷婷激情综合 | 国产成人jvid在线播放 | 日韩一区二区三区在线看 | 日韩美女爱爱 | 国产在线麻豆精品入口 | 欧美三级网站 | 欧美激情视频一区二区三区在线播放 | 欧美一级二级在线观看 | 日本免费网 | 久久久精 | 日韩成人在线播放 | 国产 日韩 欧美 制服 另类 | 91精品免费视频 | 欧美亚洲一区二区三区 | 中文字幕av一区二区三区 | 视频一区二区在线 | 日本三级在线视频 | 日本不卡视频 | 精品国产鲁一鲁一区二区张丽 | 国产成人精品一区二三区在线观看 | 国产一级电影在线 | 久久久久久国产精品 | 欧美精品1区2区 | 午夜视频在线观看视频 | 欧美日韩亚洲国产 | 在线一区二区三区 | 国产黄色精品在线观看 | 国产精品国产精品 | 97av| 久久久中文 | 国产乱码精品一区二区三区五月婷 |