2.1.2型別轉換
什麼是型別轉換,指的就是將物件從一種給定的型別轉換為另一種相關的型別,這種運算被大多數型別所支援,當程式的某處我們使用了一種型別而其實物件是另一種型別時程式會自動進行型別轉換,具體轉換將在4.1.1節學到。就像我們所知道的,物件的型別定義了物件所能包含的資料和參與的運算,可自動轉換往往存在著諸多的隱患,像是將原本能參加取餘運算的數轉換成了浮點數不能參與取餘的運算等等,容易出現錯誤。
所以這裡給出的建議是避免無法預知和依賴於實現環境的行為,我們編寫程式時要力求精確,像是計算機自動的型別轉換就會帶來無法預知的錯誤或是產生依賴於現實環境的行為
提示1.不要將某種型別的物件強行賦了另一型別的值,將某種型別的物件強行賦了另一型別的值時,計算機會自動轉換成乙個無法**的值,即使最終得到了自己想要的結果,但每台電腦有所不同,每個作業系統也亦會有所不同,在你的電腦上實現了,在被人的電腦上可能就無法實現,造成了程式依賴於現實環境的行為,這就造成了你的程式的不可移植,而這樣的錯誤往往編譯器很難發現,因為很多態別都是支援型別轉換的,而且在繁雜的**中,程式設計師也難以發現此類問題,所以應當避免
你將42賦給bool型別,bool型別只會將42(因為非0)當作真來處理,而bool型別只有0為假,1為真,所以你輸出該bool型別的值時,輸出值為1
提示2.切勿混用帶符號型別和無符號型別,如果表示式裡既有帶符號型別又有無符號型別,當帶符號型別取值為負時會出現異常結果,這是因為帶符號型別會自動轉換成無符號數
這裡還值得注意的一點是含有無符號型別的表示式,無符號的物件是不會小於0的所以在條件判斷是盡量避免使用無符號數
2.1.3字面值常量
就是常說的常量,加乙個字面量的意思是該值一看就可知道
整型和浮點型常量
以0開頭的整型代表八進位制,以0x或0x開頭的為十六進製制
在浮點數字面量表示為乙個小數或是以科學計數法表示的指數,其中指數部分用e或e表示
字元和字串字面量
當書寫的字串字面量過長時可以分開來寫
轉義序列
兩類字元程式設計師不能直接使用,一類是不可列印的字元,如:換行等,另一種就是在c++中有特殊含義的字元,如:單引號,雙引號等等這些情況下就要運用到轉義序列,轉義序列均以反斜線作為開始,c++語言中包括一下
c++也提供泛化的轉義序列,其形式為\x後緊跟1個或多個十六進製制的數字,或是\後緊跟1個、2個或3個八進位制數字,以latin-1字符集為例
指定字面值型別
通過新增表中的前字尾,可以改變整型,浮點型和字元型字面量的預設型別
今日打卡 2021 1 23
答案為b z 0時候,執行 x 2,不成立,後面就不執行了,此時 x 1,y 0,k 0 z 1時候,執行 x 2,還不成立 後面就不執行了,此時 x 2,y 0,k 0 z 2時候,執行 x 2,成立,繼續執行 y 2,不成立 後面就不執行了,此時 x 3,y 1,k 0 z 3時候,執行 x 2...
2021 1 23訓練總結
這三天把目標放在圖論和計算幾何上,然後一些dp題都是放著想。感覺掌握的不是很好。中等點的題目就有點乏力。我在無意中又看了幾道書上的例題,發現真的是書中的精華都在例題上,然後我又多看了幾道,發現那時候覺得自己會了,其實沒有真正弄懂,可能讓我去做能做出來,但如果真要我去講去分析的話可能真的差點事。我現在...
2021 1 23關於vue echarts的使用
echarts5.0.0以前版本引入方式 import echarts from echarts echarts5.0.0以後如果還用以前的引入方式會報錯 export default imported as echarts was not found in echarts 需要換種引用 impor...