Re: [問題] 何時該用assert?

看板Programming作者時間18年前 (2006/10/17 21:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ 引述《Aligu1009.bbs@ptt.cc (=.=)》之銘言: > 請教各位寫C/C++ 都何時使用assert()呢? > 我個人覺得每個assert都可用 if 或 exception 來取代之 > 但有些人似乎很愛用assert > 不知道各位都何時用assert何時用if或exception呢? 謝謝 assert 通常是用 macro 實作的, 而且屬於條件式編譯, 所以在編譯時加上 -DNDEBUG 參數, 或是在檔案裡明確 #define NDEBUG, 所有的 assert() 就不會被編進目的碼和執行檔裡, 程式執行時也比較快。 不過在 C++ 可以使用比較進階的 template 技術來取代 assert(), 所以不建議在 C++ 程式裡使用 assert()。 -- Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net School: National Tsing Hua University Department: Computer Science Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Undecided Homepage: https://it.muds.net/~uranus -- ╔═══╗ ┼────────────────────────╮ 狂狷 Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮ 年少 ┼╮ < IP:140.119.164.252 > ╰─╮ ╚╦═╦╝ From:61-230-216-250.dynamic.hinet.net ─╨─╨─ KGBBS 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩
文章代碼(AID): #15DDGF00 (Programming)
文章代碼(AID): #15DDGF00 (Programming)