assert() (C++) 非常简单!
生活随笔
收集整理的這篇文章主要介紹了
assert() (C++) 非常简单!
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以前當我還是比較菜的時候(雖然現在也是),那時我看到assert()函數,就在網上查,結果全是些極其詳盡而又復雜的用法。
為了避免有人遇到跟我一樣的感受,下面我的描述將會非常簡單,明了。
assert() 稱為斷言表達式
意思是:保證assert()中的內容一定是對的。
這是一個宏,所以在預編譯的時候就會出現。
assert() 怎么用?
舉個非常簡單的例子。
我們想要做一個數組類。就比如我們自己先封裝一個鏈表,或者線性表。然后,我們一般都會使用到index的用法。
像上面這樣的用法。
由于是自定義的。那么我們是不是就需要判斷下傳進來的index是不是正整數?
像下面這樣的用法肯定是不可行的
- 那我們應該怎么改呢?
其實如果不會assert之前。大家的用法一般是:
這樣來處理負數的情況。
if (index < 0) {break; }要處理浮點數,就可以通過強制類型轉換來實現。
但是這樣的設計顯得過于冗長。
對于使用assert() 來說,只需要一句話。
assert(index >= 0);如果出現問題了,index < 0 就會報錯。
反之,這樣如果正常就直接運行下去了。這樣的設計會特別簡單。也減少調試的麻煩。因為確定某些事情一定會發生了。這樣就找bug所需要找的情況就變的少了很多。
至于aasert()還有什么其他復雜的用法,可以在后續慢慢摸索。
或者去網上找他人的復雜教程~ 本篇只是簡明教程!
總結
以上是生活随笔為你收集整理的assert() (C++) 非常简单!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C2679二进制 没有找到接受 std:
- 下一篇: 【解决方案】Basemap安装出现的错误