看板 Programming 關於我們 聯絡資訊
前人都講了重點了,不贅述 ※ 引述《"mynews" <noreplay@gmail.com>, 看板: Programming》之銘言: : 間,不過我常在很多opensource 看到這類的用法 : char *__progname = "prog"; : 這樣用到底是不是正確的用法?安全的使用字串應該使用陣列? 你想要寫入字串應該用陣列 只拿來讀可以只用literal 事實上literal真正安全的寫法是 const char * const porgname = "prog"; 除了強制轉型之外不會有任何惡搞機會 只是很久以前似乎並沒有const這種東西 而compiler為了相容舊code也接受不加const的寫法 好習慣是在你判斷內容不該被更改時就加上const修飾 : 到底那些用法是安全且正確? C嚴格來說沒什麼好安全的(茶) 只有安全的好習慣 -- 自High筆記(半荒廢) http://legnaleurc.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.224.126
keroclow:推這篇~不想被改就加CONST 61.59.149.18 06/11 00:35