Re: [閒聊] 大家工作上看過哪些誇張的 CODE ?
※ 引述《bobhsiao (㊣小臃腫㊣)》之銘言:
: 最近看到同事寫一個
: 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實在是沒甚麼道理
而且即使有甚麼"特別的好處"...我覺得應該都不值得...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.44.34
推
05/19 17:42, , 1F
05/19 17:42, 1F
推
05/19 21:55, , 2F
05/19 21:55, 2F
推
05/19 22:05, , 3F
05/19 22:05, 3F
討論串 (同標題文章)