您好,登錄后才能下訂單哦!
本篇內容主要講解“C++核心準則怎么理解”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C++核心準則怎么理解”吧!
花點時間理解準則可能為你程序帶來的的影響。
這些準則按照“超集的子集”原則設計。它們不是簡單地定義一個C++的子集以供使用(于可靠性,安全性,性能或者其他的什么)。相反,它們強烈建議使用幾種簡單“擴展”(庫元素),這使得C++的多數易錯功能變得多余,而被(我們的規則集合)被明令禁止。
這些規格強調靜態的的類型安全和資源安全。因為這個原因,它們強調范圍檢查的可能性以避免間接引用空指針,避免產生野指針,促進成體系地使用異常處理(通過RAll)。為了達成這些效果,同時也為了盡量減少難以理解的成為錯誤源泉的代碼,這些規則也強調簡單化和隱藏必要的復雜性于良好定義的接口之后的做法。
【RAll】- resource acquisition is initializatio 資源獲取即初始化
譯者注:靜態這個詞很重要,這意味的這些問題可以在編譯時而不是在執行時解決。這可以說是C++一直以來追求的目標,也是C++和C語言最大的區別之一。
許多規則是約定俗成的。我們不會喜歡那些只是簡單地說“不要那樣做”但卻不提供其他選擇的規則。那樣做的結果某些規則只能被啟發式的檢查支持,而不是準確的和機械可證實的檢查。
這些準則關注C++核心及其用法。我們希望更大的組織,特定的應用領域,甚至大項目會需要更進一步的規則, 可能是更進一步的限制,和更進一步的庫支持。例如硬實時程序員通常不能自由地使用自由存儲(動態內存)并且被嚴格限制庫的選擇。我們鼓勵這樣的更專門的規則作為核心準則的補充。構建你自己的完美小規模基本庫并且使用它,而不是降低你的編程層次去裝配代碼,雖然這聽起來也不錯。
【hard-real-time】:通常指采用優先級驅動,可以提供時間確定性的可搶占調度的實時系統。
這些規則被設計為允許循序漸進式采用。
某些規則的目的在于提高多種形式的安全性,而另外一些規則的目的是減少可能的不測事件,很多兩者都有。這些防止不測事件的規則經常會明令禁止完全合法的C++。然而,當有兩種方式解釋一個想法,一個呈現為常見的錯誤源而另一個不是的時候,我們會努力引導程序員轉向后者。
到此,相信大家對“C++核心準則怎么理解”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。