Re: [閒聊] 大家工作上看過哪些誇張的 CODE ?

看板 Soft_Job
作者 pinkRD (一葉知秋)
時間 2010-05-19 08:02:30
留言 3則留言 (3推 0噓 0→)

: 最近看到同事寫一個 : char* GetXXXName(...) : { : char str[256] = {'\0'}; : ..... : return str; : } : 回傳區域變數指標...囧rz : 神奇的是跑起來都沒錯, 大概也不會改了吧 如果改成static或許有人會這樣寫吧 至於你所說的thread unsafe的問題 就得看這個函式是為了甚麼設計的 通常 getName() 這種涵式如果寫成 char* getName(...) { static char str[256]; ...; return str; } 就只是為了求方便求快 只是為了某些識別的用途 這個識別的字串大小固定 使用這個程式的演算法快速的需求遠大於安全性 例如只是輔助演算法判斷之用 即使失敗也仍可以繼續正常處理 又或者只是輕量級的debug資訊 至於不加上static的情況下回傳local variable.... 難道是關閉所有中斷line的top half? 不知道這樣設想對不對... 不過一般情況底下回傳local variable實在是沒甚麼道理 而且即使有甚麼"特別的好處"...我覺得應該都不值得... -- ◆ From: 61.224.44.34
※ 批踢踢實業坊(ptt.cc)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1274227353.A.87D.html

ckdarkknight:改成回傳const指標 也許會更安全 05/19 17:42

bobju:同意. 堂堂大道不走, 偏鑽些羊腸小徑. 這不是王道. 05/19 21:55

bobhsiao:我是原PO,那函數絕對是錯的,只是不是大家都懂,只能感嘆 05/19 22:05

您可能感興趣